ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE
SYSTEMY NUMERACJI
SYSTEMY NUMERACJI
Rozwój techniki cyfrowej spowodował powstanie i upowszechnienie inny systemów zapisu
liczb niż powszechnie stosowany system dziesiętny. Mamy więc następujące systemy:
- dziesiętny (decymalny) – DEC
- dwójkowy (binarny) – BIN
- ósemkowy (oktalny) -OCT
- szesnastkowy (heksadecymalny) - HEX
Maszyny cyfrowe pracują głównie w systemie dwójkowym (binarnym), w którym dowolną
wartość zapisuje się za pomocą dwóch cyfr: 0 i 1. W układach elektronicznych wartościom 0 i 1
może odpowiadać pewien stan napięcia lub brak napięcia. Wartości 0 i 1 mogą też być
interpretowane jako wartości logiczne: prawda – fałsz (tak – nie). Wartości 0 i 1 zapisywane są jako
pojedyncze bity
Co to jest bit?
1. ang. BInary digiT – cyfra dwójkowa,
2. ang. Basic Information uniT – podstawowa jednostka informacji,
3. najmniejsza jednostka pojemności pamięci do zapisywania danych w kodzie dwójkowym.
8 bitów (8b) = 1 bajt (1B)
Powyższe systemy numeracji to tzw. systemy pozycyjne o następujących cechach
charakterystycznych:
1. Każda liczba zapisywana jest za pomocą cyfr dopuszczalnych w danym systemie numeracji:
DEC – 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
BIN – 0, 1
OCT – 0, 1, 2, 3, 4, 5, 6, 7
HEX – 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
2. Każda cyfra jest umieszczana w innej kolumnie, której przyporządkowana jest jej waga. Wagi
kolumn są równe kolejnym potęgom liczby będącej podstawą systemu.
DEC – ...10
3
10
2
10
1
10
0
10
-1
10
-2
10
-3
10
-4
...
BIN – ...2
3
2
2
2
1
2
0
2
-1
2
-2
2
-3
2
-4
...
W systemie dwójkowym do określenia pozycji używa się numerów kolejnych bitów licząc od
zera. W ten sposób mamy na pozycji maksymalnie z prawej „BIT ZEROWY”: ...2
3
2
2
2
1
2
0
1
ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE
SYSTEMY NUMERACJI
3. Liczba zapisywana w systemie pozycyjnym jest równa sumie iloczynów cyfr zapisanych w
poszczególnych kolumnach i wag tych kolumn.
L =
∑ a
i
r
i
gdzie
r
∈ {2, 8, 10, 16}
4. Dla każdego systemu pozycyjnego istnieją reguły wykonywania operacji arytmetycznych na
liczbach zapisanych w danym systemie.
p q p+q
p*q
p-q
p:q
0
0
0
0 0
nie
istnieje
0 1
1
0
→ 1
0
1
0
1
0 1
nie
istnieje
1 1
←10
1 0
1
←1
oznacza przeniesienie 1 do najbliższej lewej pozycji
→1
oznacza przeniesienie 1 z najbliższej lewej pozycji
5. Przekształcenie liczby zapisanej w jednym systemie na liczbę zapisaną w drugim systemie jest
łatwe dzięki wykorzystaniu pojęcia wagi kolejnych kolumn.
np. (107)
10
= (x)
2
107 : 2 = 53 r 1
bit zerowy
53 : 2 = 26 r 1
26 : 2 = 13 r 0
13 : 2 = 6 r 1
6 : 2 = 3 r 0
3 : 2 = 1 r 1
kierunek zapisu
1 : 2 = 0 r 1
0 1 1 0 1 0 1 1 - liczba 107 jako liczba binarna zapisana za pomocą 8 bitów
2
7
2
6
2
5
2
4
2
3
2
2
2
1
2
0
Zapis binarny jest bardzo rozwlekły i dlatego zastępowany jest często zapisem ósemkowym lub
szesnastkowym.
2
ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE
SYSTEMY NUMERACJI
Liczby 0-20 w systemach DEC, BIN, OCT, HEX
DEC BIN OCT HEX
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4
100 4 4
5
101 5 5
6
110 6 6
7
111 7 7
8 1000 10
8
9 1001 11
9
10 1010 12
A
11 1011 13
B
12 1100 14
C
13 1101 15
D
14 1110 16
E
15 1111 17
F
16
10000 20 10
17
10001 21 11
18
10010 22 12
19
10011 23 13
20
10100 24 14
3
ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE
SYSTEMY NUMERACJI
REPREZENTACJA DANYCH
1. dane alfanumeryczne – zazwyczaj kod ASCII
(ang. American Standard Code for Information
Interchange)
Cechy charakterystyczne kodu ASCII:
- 7-bitowy obejmuje 128 znaków
- 8-bitowy obejmuje 256 znaków
- znaki
o 0 - 32
- znaki kontrolne
o 33 – 127 – litery, cyfry, interpunkcyjne itd.
o 128 – 256 – znaki semigraficzne, niektóre litery alfabetu greckiego i wybranych
języków zachodnioeuropejskich
- wzorzec znaków ASCII jest zapisany w pamięci ROM
(ang. Read Only Memory)
2. liczby całkowite
2.1. kod dwójkowo-dziesiętny, tzw. BCD
(ang. Binary Coded Decimal notation)
. Sposób zapisu liczb
dziesiętnych polegający na zapisywaniu kolejnych cyfr liczby dziesiętnej jako liczb dwójkowych.
Jednej cyfrze dziesiętnej odpowiadają zawsze 4 bity w kodzie BCD.
np. liczba 8372 to 1000 0011 0111 0010
2.2. kod uzupełnień do dwóch, kod U2 (ang. two’s complement code) – odpowiada zapisowi
pozycyjnemu liczby w zapisie dwójkowym, przy czym bit najbardziej znaczący ma wagę ujemną i
jest bitem znaku.
Liczba L
U2
= b
n
b
n-1
...b
0
,b
-1
...b
-m
w kodzie U2 ma wartość
L
u2
= -2
n
*b
n
*
∑ 2
i
*b
i
gdzie: b
i
– bity 0 lub 1 (cyfry dwójkowe), 2
i
– waga cyfry
Uwaga: w kodzie U2 kodowanie liczb dodatnich w stosunku do kodu dwójkowego nie ulega
zmianie, różnica jest w kodowaniu liczb ujemnych: N
+ 1
3. liczby rzeczywiste
3.1. liczby stałoprzecinkowe:
- znak
liczby
- część całkowita
- część ułamkowa
3.2. liczby zmiennoprzecinkowe
- znak
liczby
- mantysa
- znak
cechy
- cecha
4