Tabela 2.1: Liczba całkowita i jej 8-bitowa reprezentacja prosta. Dla N = 8 można przedstawić liczby z zakresu 0 < 2 < 28 — 1 = 255.
z liczb całkowitych bez znaku, czy ze znakiem, mówimy o reprezentacji prostej lub uzupełnieniowej.
/V-bitowa liczba całkowita 2 bez znaku reprezentowana jest w następująco:
2= (ajv_i,ajv—2,---,ao), a* = {0,1}, (2.1)
przy czym
Liczba |
Reprezentacja |
0 |
00000000 |
2 |
00000010 |
51 |
00110011 |
127 |
01111111 |
255 |
11111111 |
N-1
(2.2)
2 = ^ di * 2*. i=0
W reprezentacji tej można przedstawić liczby z zakresu 0 < 2 < 2^ — 1. Przykłady 8-bitowej reprezentacji prostej liczb całkowitych znajdują się w tabeli 2.1.
W przypadku liczb całkowitych ze znakiem zapis (2.1) interpretowany jest w nieco odmienny sposób, a mianowicie:
N—2
z = -aN-1 * 2N~1 + a* * 2*- (2.3)
2=0
Określona w ten sposób reprezentacja to najczęściej chyba spotykany w obliczeniach komputerowych zapis liczb całkowitych, tzw. reprezentacja uzupełnieniowa do 2 (w skrócie U2). Za jej pomocą można przedstawić liczby z zakresu —2N~l < 2 < 2N~l — 1. Przy tym, liczby dodatnie reprezentowane są przez zwykłe liczby binarne. Natomiast liczby ujemne tworzymy, zamieniając w liczbie dodatniej o tej samej wartości bezwzględnej bit po bicie na przeciwny, a następnie dodając 1 do wyniku (to właśnie jest uzupełnienie do dwójki):
+2i0 = 00000010[/2
4 zamieniamy bity na przeciwne
—3i0 = 11111101[/2 (2.4)
-J} dodajemy 1
-2i0 = 11111110(72
13