728x90
8진수와 16진수를 통한 데이터 표현
int num1 = 10; // 일반적으로는 10진수
int num2 = 0xA // 0x로 시작하면 16진수로 인식
int num3 = 012; // 0으로 시작하면 8진수로 인식
정수의 표현방식
- 가장 왼쪽 비티를 MSB(가장 중요한 비트)라고한다
- 이 비트는 부호를 나타낸다
- MSB를 제외한 나머지는 크기를 나타낸다
비트 연산자 (비트 이동 연산자)
- & 비트 단위로 AND 연산을 한다
- | 비트 단위로 OR 연산을 한다
- ^ 비트 단위로 XOR 연산을 한다
- ~ 단항 연산자로서 피 연산자의 모든 비트를 반전시킨다
- << 피연산자의 비트 열을 왼쪽으로 이동시킨다
- >> 피연산자의 비트 열을 오른쪽으로 이동시킨다
$$\begin{matrix}
00001111 \\00010100
\\------\\00000100
\end{matrix}$$
And 연산의 경우에는 둘중 하나만 0 이여도 0을 반환한다.
OR 연산자의 경우 둘중 하나만 1이여도 1을 반환하게 되어있다
XOR의 경우 둘중 하나만 1이여야지 1을 반환한다. 아래는 XOR의 기호 및 나온 숫자를 정리한 도표이다.
~ 연산자 같은 경우는 0과 1을 바꾸면 된다고 생각하면된다. 10000 이므로 16이 나오고 맨 앞자리가 1 이기때문에 음수가 나온다