SYSTEMY NUMERACJI

Transkrypt

SYSTEMY NUMERACJI
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 – ...103 102 101 100 10-1 10-2 10-3 10-4...
BIN – ...23 22 21 20 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”: ...23 22 21 20
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 = ∑ ai 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
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
0
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= 3r0
3:2= 1r1
kierunek zapisu
1:2= 0r1
0
1 1 0 1 0 1 1
- liczba 107 jako liczba binarna zapisana za pomocą 8 bitów
27 26 25 24 23 22 21 20
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 LU2 = bnbn-1...b0,b-1...b-m w kodzie U2 ma wartość
Lu2 = -2n *bn*∑ 2i*bi
gdzie: bi – bity 0 lub 1 (cyfry dwójkowe),
2i – 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:
3.2. liczby zmiennoprzecinkowe
-
znak liczby
-
znak liczby
-
część całkowita
-
mantysa
-
część ułamkowa
-
znak cechy
-
cecha
4