Bitwise Logical Operators
short a = 0x0257;
short b = 0xA463;
printf(“0x%hx & 0x%hx = 0x%hx\n”, a, b, a & b);
printf(“0x%hx | 0x%hx = 0x%hx\n”, a, b, a | b);
printf(“0x%hx ^ 0x%hx = 0x%hx\n”, a, b, a ^ b);
printf(“~0x%hx = 0x%hx\n”, a, ~a);
Shift Operators
/오른쪽 잡고 땡김/
short x = 5;
x >> 1 == 2;
/왼쪽 잡고 땡김 (2배 증가)/
short x = 5;
x << 1 == 10;
printBinary
#include <stdio.h>
void printBinary(int num) {
for (int i = 31; i >= 0; i--) {
int bit = (num >> i) & 1;
printf("%d", bit);
if (i % 4 == 0) printf(" ");
}
printf("\n");
}
int main() {
int num;
printf("정수를 입력하세요: ");
scanf("%d", &num);
printf("입력한 정수의 이진수 표현: ");
printBinary(num);
unsigned int hexNum;
printf("16진수를 입력하세요 (예: 0x1A3): ");
scanf("%x", &hexNum);
printf("입력한 16진수의 이진수 표현: ");
printBinary(hexNum);
return 0;
}