글
(3-6)Operator
C/C언어 이론
2018. 10. 2. 14:43
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #include <stdio.h> void main() { /* 비트연산자 (bit) > 2진수로 연산을 하겠다! & : AND 둘 다 1이어야 1, 아니면 0 | : OR 둘 중 하나만 1이면 1, 둘 다 0이면 0 ^ : XOR 두 값이 다르면 1, 같으면 0 ~ : 비트 전환, 0은 1로, 1은 0으로 << : 비트를 좌측으로 이동 >> : 비트를 우측으로 이동 */ printf("4 & 2 = %d\n", (4&2)); printf("3 & 2 = %d\n", (3&2)); printf("3 | 2 = %d\n", (3|2)); printf("3 ^ 2 = %d\n", (3^2)); printf("8 << 2 = %d\n", (8<<2)); // 8 * 2^2 -> 8 * 4 = 32 printf("8 >> 2 = %d\n", (8>>2)); // 8 * 2^-2 -> 8 / 4 = 2 // 비트연산 자체가 일반적인 연산보다 속도가 빠르다. // 왜? 컴퓨터는 값을 bit 단위로 저장하고 있기 때문 // 그 차이가 크지 않기 때문에, 굳이 비트연산 사용하지 않아도 됨 // 꼭~~ 필요할 때만 사용 // 가독성이 떨어진다. (암산하기 힘들다) } | cs |
'C > C언어 이론' 카테고리의 다른 글
(3-8)Operator (0) | 2018.10.02 |
---|---|
(3-7)Operator (0) | 2018.10.02 |
(3-5)Operator (0) | 2018.10.02 |
(3-4)Operator (0) | 2018.10.02 |
(3-3)Operator (0) | 2018.10.02 |