23.6 연습문제: 비트 논리 연산자 사용하기
#include <stdio.h>
int main(void)
{
unsigned char num1 = 1; // 0000 0001
unsigned char num2 = 5; // 0000 0101
printf("%u\n", num1 | num2);
printf("%u\n", num1 ^ num2);
printf("%u\n", num1 & num2);
num1 = ~num2;
printf("%u\n", num1);
return 0;
}
23.7 연습문제: 시프트 연산자 사용하기
#include <stdio.h>
int main(void)
{
unsigned char num1 = 32;
num1 = num1 >> 4 << 1;
printf("%u\n", num1);
return 0;
}
23.8 심사문제: 비트 논리 연산자 사용하기
#include <stdio.h>
int main(void)
{
unsigned int num1, num2;
scanf_s("%u%u", &num1, &num2);
printf("%u\n", num1 ^ num2);
printf("%u\n", num1 | num2);
printf("%u\n", num1 & num2);
printf("%u\n", ~num1);
return 0;
}
23.9 심사문제: 시프트 연산자 사용하기
#include <stdio.h>
int main(void)
{
unsigned long long num1;
scanf_s("%llu", &num1);
num1 = num1 << 20 >> 4;
printf("%llu\n", num1);
return 0;
}