키보드로부터의 입력을 위한 scanf()
#define _CRT_SECURE_NO_WARNINGS // scanf 경고 무시, #inclue <stdio.h> 위에 작성
#include <stdio.h>
/* scanf() 의 사용법 */
int main(void)
{
int result;
int num1, num2;
printf("첫번째 정수: ");
scanf("%d", &num1);
printf("두번째 정수: ");
scanf("%d", &num2); // & = 주소
/* num 변수에 쓰레기값이 들어있지만, scanf를 통하여 초기화가 진행되어 쓰레기값을 미리 초기화 할 필요 X */
result = num1 + num2;
printf("%d + %d = %d \n", num1, num2, result);
return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
/* scanf() 의 사용법 */
int main(void)
{
int result;
int num1, num2, num3;
printf("세 개의 정수 입력: ");
scanf("%d %d %d", &num1, &num2, &num3);
result = num1 + num2 + num3;
printf("%d + %d + %d = %d", num1, num2, num3, result);
return 0;
}
데이터의 표현 단위 (Bit/Byte)
비트 연산자
- & : 비트단위로 AND 연산을 한다.
- | : 비트단위로 OR 연산을 한다.
- ^ : 비트단위로 XOR 연산을 한다.
- ~ : 단항 연산자로서 피연산자의 모든 비트를 반전시킨다.
- << : 피연산자의 비트 열을 왼쪽으로 이동시킨다.
- >> : 피연산자의 비트 열을 오른쪽으로 이동시킨다. | num >> 2; // num 은 변화 X, 두 칸 오른쪽 이동 결과만 반환
& 연산자 : 비트단위 AND
#include <stdio.h>
/* 비트 연산 */
int main(void)
{
int num1 = 15; // 00000000 00000000 00000000 00001111
int num2 = 20; // 00000000 00000000 00000000 00010100
int num3 = num1 & num2; // num1과 num2의 비트단위 & 연산
// num3 는 00000100 ( 10진수로 표현하면 4 ) 를 반환
printf("AND 연산의 결과: %d \n", num3);
return 0;
}
| 연산자 : 비트단위 OR
#include <stdio.h>
int main(void)
{
int num1 = 15; // 00000000 00000000 00000000 00001111
int num2 = 20; // 00000000 00000000 00000000 00010100
int num3 = num1 | num2;
printf("OR 연산의 결과: %d \n", num3);
return 0;
}
^ 연산자 : 비트단위 XOR (Exclusive OR)
#include <stdio.h>
int main(void)
{
int num1 = 15; // 00000000 00000000 00000000 00001111
int num2 = 20; // 00000000 00000000 00000000 00010100
int num3 = num1 ^ num2;
printf("xOR 연산의 결과: %d \n", num3);
return 0;
}
~ 연산자 (not 연산자)
#include <stdio.h>
int main(void)
{
int num1 = 15; // 00000000 00000000 00000000 00001111
int num2 = ~num1;
printf("NOT 연산의 결과: %d \n", num2);
return 0;
}
<< 연산자: 비트를 왼쪽으로 이동 (Shift)
#include <stdio.h>
int main(void)
{
int num1 = 15;
int result1 = num1 << 1;
int result2 = num1 << 2;
int result3 = num1 << 3;
printf("1칸 이동 결과: %d \n", result1);
printf("2칸 이동 결과: %d \n", result2);
printf("3칸 이동 결과: %d \n", result3);
return 0;
}
>> 연산자: 비트를 오른쪽으로 이동 (Shift)
#include <stdio.h>
int main(void)
{
int num1 = 15;
int result1 = num1 >> 1;
int result2 = num1 >> 2;
int result3 = num1 >> 3;
printf("1칸 이동 결과: %d \n", result1);
printf("2칸 이동 결과: %d \n", result2);
printf("3칸 이동 결과: %d \n", result3);
return 0;
}
'C 언어' 카테고리의 다른 글
220926 - Univ (0) | 2022.10.06 |
---|---|
220919 - Univ (0) | 2022.09.20 |
220908 - Univ (0) | 2022.09.14 |
220904 - Univ (0) | 2022.09.14 |