본문 바로가기

카테고리 없음

열혈 C 4일차

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 이기때문에 음수가 나온다