-
데이터 표현 방식의 이해Develpment/C 2020. 9. 13. 21:24
1. 8진수, 16진수 표현
int a = 10; // 10진수
int b = 0xa; // 16진수. 0x로 시작
int c = 012 // 8진수. 0으로 시작
2. 정수의 표현 방식
MSB
<
데이터 크기 표현
>
0
0
0
0
0
0
0
1
부호(+,-) 표현
ex) 1바이트의 메모리 공간에서의 +1 표현
3. 음수의 표현
0
0
0
0
0
1
0
1
[+5]
* 1의 보수를 취한다.
1
1
1
1
1
0
1
0
* 1을 더한다.
1
1
1
1
1
0
1
1
[-5]
4. 음수의 표현 증명
0
0
0
0
0
1
0
1
[+5]
+
1
1
1
1
1
0
1
1
[-5]
1
0
0
0
0
0
0
0
0
[0]
* 올림 수(carry)는 버린다. 5. 실수의 표현
MSB
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
<
m
>
<
e
>
ex) 실제로는 4바이트 이상의 메모리 공간을 이용해서 실수를 표현한다. 여기서 2바이트만을 가지고 이야기하는 것은 표현 방식을 이해하기 위해서 이다.
* 컴퓨터가 실수를 표현하는 방식은 오차를 지닌다.
-
넓은 범위의 실수를 표현할 수 있다는 장점과 더불어 오차가 존재한다는 단점도 지닌다. (부동소수점 오차)
-
컴퓨터는 실수를 100% 정확히 표현하지 못한다. 다만 근사치를 포현할 뿐이다.
6. 비트단위 연산
연산자
연산자의 의미
결합성
&
비트단위 AND
ex) a & b
->
|
비트단위 OR
ex) a | b
^
비트단위 XOR
ex) a ^ b
~
비트단위 NOT
ex) ~a
<<
왼쪽으로 이동
ex) a << 2
>>
오른쪽으로 이동
ex) a >> 2
'Develpment > C' 카테고리의 다른 글
메모리 영역 (code, data, bss, heap, stack) (0) 2020.09.13 printf 와 scanf 함수에 대한 고찰 (0) 2020.09.13 상수와 기본 자료형 (0) 2020.09.13 변수 (0) 2020.09.13 -