CS스터디. [CODE] Chapter.15 <22.03.28>

강형원·2022년 4월 3일
0

CS 스터디

목록 보기
2/3
post-thumbnail

통상적으로 8비트 데이터를 쓰는 이유는 원래의 덧셈기를 기반으로 만들어서 입니다.
하지만 8비트 데이터로 연산을 하기 쉽게 정의되었기 때문에도 범용적으로 쓰고 있는 것 같습니다.

바이트: 먼저 바이트는 8비트를 묶은 단위 입니다.
니블: 그리고 바이트의 절반인 4비트를 묶은 단위 입니다.

우리가 숫자를 팔진수로 읽는다고 하자면
여러 바이트를 8진수로 표현하기 위해 동일한 비트 단위로 나누어지도록 할 필요가 있습니다.
왜냐하면 단위로 안 나누면 읽을 때 값의 차이가 있을 수 있기 때문입니다.

{1}{011}{001}{111}{000}{101} 16비트 단위

1 3 1 7 0 5

{10}{110}{011} {11}{000}{101} 8비트 단위

2 6 3 3 0 5

그리고 한 바이트는 두 개의 16진수 숫자로 표현할 수 있습니다.
00001111 ⇒ 0000(16진수의 0) 1111(16진수의 15)

이렇게 4비트(니블)로 16진수를 사용하기 위해 10 이상 숫자부터는 알파벳을 사용합니다.

| 이진수 | 16진수 | 십진수 |
| 0000 | 0 | 0 |
| 0001 | 1 | 1 |
| 0010 | 2 | 2 |
| 0011 | 3 | 3 |
| 0100 | 4 | 4 |
| 0101 | 5 | 5 |
| 0110 | 6 | 6 |
| 0111 | 7 | 7 |
| 1000 | 8 | 8 |
| 1001 | 9 | 9 |
| 1010 | A | 10 |
| 1011 | B | 11 |
| 1100 | C | 12 |
| 1101 | D | 13 |
| 1110 | E | 14 |
| 1111 | F | 15 |

즉 0부터 F까지의 16진수 숫자로 값을 표현할 수 있습니다.

이진수로 표현된 부호 있는 8비트 숫자를 다룰 때, 음수는 모두 1로 시작했었지요. 따라서 2자리 16진수는 그 값이 음수를 가질 때 가장 높은 자리가 8,9,A,B,C,D,E,F로 시작합니다. 이는 16진수의 최상위 비트가 1인 경우에 표현 가능한 숫자들입니다.

99h = 10011001 ⇒ 보수는 01100110 , 십진수로는 102 ⇒ 음수이니 +1해주고 마이너스 하면 ⇒ -103 이라는 부호가 있는 십진수로 바꿀 수 있습니다.

profile
사람. 편하게.

0개의 댓글

관련 채용 정보