통상적으로 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 이라는 부호가 있는 십진수로 바꿀 수 있습니다.