정수 자료형와 부동소수점 자료형이 실제로 메모리에 어떻게 들어가있는지 다룬 후, 그에 관련된 연산을 배웁니다.
컴퓨터에선 사칙연산보다도 더 기본적인 연산이 있습니다. 사칙연산을 비롯한 다양한 연산은 이 기본연산으로 구현됩니다. 이 기본연산에 해당되는 연산자는 다음과 같습니다.
- 비트 부정(bitwise NOT):
~
- 비트 논리곱(bitwise AND):
&
- 비트 논리합(bitwise OR):
|
- 비트 배타적 논리합(bitwise XOR):
^
여기서 다시 2진수가 등장합니다. 네 연산 모두 2진수와 밀접하게 연관되어있습니다. 먼저 비트 부정은 0은 1로 바꾸고, 1은 0으로 바꾸는 단항연산자입니다.
#include <stdio.h>
int main()
{
unsigned short s = 1736;
printf("%hu", ~s);
}
63799
1736
을 2진수로 표현하면 0000 0110 1100 1000(2)
입니다. 여기서 0과 1을 뒤바꾸면 1111 1001 0011 0111(2)
가 되고, 10진수로 표현하면 63799입니다.