Kodowanie liczb

Transkrypt

Kodowanie liczb
RODZAJE INFORMACJI
Informacje analogowe
U(t)
Umax
Umax
MASZYNA
ANALOGOWA
R=(0 Umax)
R=(0,Umax)
0
nieskończony
zbiór możliwych
wartości
0
WE
WY
Informacje cyfrowe
U(t)
Umaxq
Umax
R=(U, 2U,
3U 4U)
3U,
0
Jacek Bartman
moc zbioru R
wynosi 4
U - kwant wartości
0
#

#
a/c
/
MASZYNA
CYFROWA
#
#

c/a
/
RODZAJE INFORMACJI
Informacją cyfrową nazywamy informację przedstawioną w postaci słów cyfrowych
Słowem cyfrowym nazywamy dowolny ciąg składający się z symboli 0 i/lub 1
Długość słowa
1
4
8
16
32
64
1b - oznacza 1 bit
1B - oznacza 1 bajt
Oznaczenie
symboliczne
a0
a3...a0
a7.....a0
a15.......a0
a31.........a0
a63...........a
a0
Nazwa
bit
tetrada, kęs
bajt
słowo 16-bitowe, słowo
podwójne słowo, dwusłowo
słowo 64-bitowe,
64 bitowe, czterosłowo
1B=8b
10
1kB=1024B (2 )
1MB=1024kB
1GB=1024MB
Przykład: 20 MB jest ilością informacji ośmiokrotnie większą niż 20Mb
Jacek Bartman
Informacja cyfrowa
•


W słowach cyfrowych wyróżnia się najstarszą i najmłodszą pozycję:
j
j znaczący
ą y zwany
y najstarszym
j
y ((ang.
g - Most Significant
g
Bit)
Bit)
MSB - bit najbardziej
LSB - bit najmniej znaczący zwany najmłodszym (ang. - Least Significant Bit
Bit))
an-1 ......................... a0
MSB
•
•
LSB
Analogicznie możemy mówić o starszym i najmłodszym bajcie lub o starszej lub młodszej
tetradzie..
tetradzie
Zalety układów dwustanowych
prostota i łatwość wytwarzania (w stosunku do układów wielostanowych), duża niezawodność,
możliwość opisu przy pomocy algebry Boole’a („0” – „fałsz”, „1” – prawda”)
Wad układów
Wady
kładó dwustanowych:
d stano ch
mała ilość przekazywanej informacji – 1 bit (można ją zwiększyć zwiększając liczbę wejść –
pojemność opisuje zależność 2n, gdzie n jest liczbą wejść),
–
–
•
–
Jacek Bartman
ARYTMETYKA CYFROWA
Kodowanie liczb

Systemy pozycyjne – wartość cyfry zależy od miejsca (pozycji) jaką ta cyfra
zajmuje w napisanej liczbie. Każdą liczbę w tym systemie można zapisać w
postaci:
t i
L
n 1
 ci p i
i 0
 c n 1p n 1  ...  c1p1  c 0 p 0
gdzie: ci – it-a cyfra liczby zawierająca się w zbiorze {0, 1, 2, ..., p
-1]
p – podst awa systemu liczenia
Przykładem systemów pozycyjnych są system dziesiętny, system dwójkowy, itp.

Systemy niepozycyjne
– wartość cyfry nie zależy od miejsca jej położenia w
liczbie. Przykładem takiego systemu jest system rzymski ( I=1, V=5, X=10,
C=100, D=5 00, M=1000)
Jacek Bartman
System binarny
Pozycyjny system dwójkowy (binarny) (p=2; {0,1})
 cyfry dwójkowe noszą nazwę bitów (bit c0 – najmniej znaczący bit (LSB)
(LSB),
cn-1 – najbardziej znaczący bit (MSB)),
 zamiana liczb z kodu binarnego na dziesiętny
(10111)2 = 1 x 24 + 0 x 23 + 1 x 22 + 1 x 21 + 1 x 20 = 16 + 4 + 2 + 1 = (23)10
 zamiana liczb z kodu dziesiętnego na binarny – należy kolejno dzielić liczbę
dziesiętną przez dwa i notować w odwrotnej kolejności reszty z dzielenia (1
lub 0)
25 : 2  12 reszta 1 

12 : 2  6 reszta 0 

6 : 2  3 reszta 0  25 10  110012

3 : 2  1 reszta 1 

1 : 2  0 reszta 1 
 za pomocą n bitów można w systemie binarnym zapisać 2n liczb.
Jacek Bartman
Kody dwójkowo-dziesietne
Pozycyjne kody dwójkowo-dziesiętne
 w odróżnieniu od kodu binarnego nie kodują całej liczby tylko oddzielnie
poszczególne cyfry dziesiętne,
 wyróżnia się kody dwójkowo dziesiętne wagowe oraz niewagowe.
kody wagowe
Cyfra
0
1
2
3
4
5
6
7
8
9
Jacek Bartman
BCD
kody niewagowe
Aikena
8 4 2 1
2 4 2 1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
Excess 3
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
Graya
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
1
1
0
0
1
Johnsona
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
0
Dziesiętnie
Binarnie
BCD 841
Aikena
Excess 3
Graya
25
0001 1001
0010 0101
0010 1011
0101 1000
0011 01 11
System ósemkowy
Pozycyjny system ósemkowy (oktalny) (p=8; {0,1, 2, 3, 4, 5, 6, 7})
 zamiana liczb z kodu ósemkowego na dziesiętny
(564)8 = 5 x 82 + 6 x 81 + 4 x 80 = 320 + 48 + 4 = (372)10
 zamiana liczb z kodu dziesiętnego na ósemkowy – należy kolejno dzielić
liczbę dziesiętną przez osiem i notować w odwrotnej kolejności reszty z
d i l i
dzielenia.
372 : 8  46 reszta 4 

46 : 8  5 reszta 6  372 10  564 8

5 : 8  0 reszta 5 
Jacek Bartman
System ósemkowy
 zamiana liczb z kodu ósemkowego na binarny - liczbę binarną tworzymy z
liczby ósemkowej zastępując kolejne cyfry ósemkowe odpowiadającym im
liczbą dwójkowym zapisanym przy pomocy trzech bitów
(564)8 = (101 110 100)2 bo
(5)8=(101)
(101)2; (6)8=(110)
(110)2; (4)8=(100)
(100)2
(100 000 101)2 = 28 + 22 + 20 = 256 + 4 + 1 = (261)10
 zamiana liczb z kodu binarnego
g na ósemkowego
g - liczbę
ę ósemkową
ą tworzymy
y y
zastępując kolejne cyfry binarne odpowiadającą im cyfra ósemkową.
(111 110 010)2=(762) 8
Jacek Bartman
000 – 0
001 – 1
010 – 2
011 – 3
100 – 4
101 – 5
110 – 6
111 – 7
System szesnastkowy
Pozycyjny system szesnastkowy (haksadecymalny) (p=16; {0,1, 2, 3, 4, 5,
6, 7, 8, 9, A(10), B(11), C(12), D(13), E(14), F(15)})
 zamiana liczb z kodu szesnastkowego na dziesiętny
(6A1)16 = 6 x 162 + 10 x 161 + 1 x 160 = 1536 + 160 + 1 = (1697)10
 zamiana liczb z kodu dziesiętnego na szesnastkowy – należy kolejno dzielić
liczbę dziesiętną przez szesnaście i notować w odwrotnej kolejności reszty z
dzielenia.
5327 : 16  332 reszta 15

332 : 16  20 reszta 12
 5327 10  14CF 16
20 : 16  1 reszta 4

1 : 16  0 reszta 1
Jacek Bartman
System szesnastkowy
 zamiana liczb z kodu szesnastkowego na binarny - liczbę binarną tworzymy z
liczby szesnastkowej zastępując kolejne cyfry szesnastkowe odpowiadającym
im liczbom dwójkowym zapisanym przy pomocy czterech bitów,
(14CF)16 = (0001 0100 1100 1111)2
bo
(1)16=(0001)2; (4)16=(0100)2; (C)16=(1100)2; (F)16=(1111)2
(0001 0100 1100 1111)2 = 212 + 210 + 27+ 26 + 23 + 22 + 21 + 20 =
4096 + 1024 + 128 + 64 + 8 + 4 + 2 + 1 = (5327)10
 zamiana liczb z kodu binarnego na szesnastkowy - liczbę szesnastkową
tworzymy kolejne cyfry bity zapisu dwójkowego odpowiadającą im cyfrą
szesnastkową,
(0101 0110 1000 1111)2 = (568F)16
 zapis szesnastkowy jest powszechnie stosowany wśród użytkowników
mikrokomputerów - tzw. słowa są wielokrotnością bajta (8 bitów), łatwo więc
pozwalają
l j grupować
ć się
i w czwórki
ó ki co umożliwia
żli i skrócenie
kó
i zapisu.
i
Jacek Bartman
0000 – 0
0001 – 1
0010 – 2
0011 – 3
0100 – 4
0101 – 5
0110 – 6
0111 – 7
1000 – 8
1001 – 9
1010 – A (10)
1011 – B (11)
1100 – C (12)
1101 – D (13)
1110 – E (14)
1111 – F (15)
Kod znak-moduł
Kod znak-moduł służy do zapisu liczb całkowitych (zarówno dodatnich jak i ujemnych)
•
•
poszczególne bity maja identyczne wagi jak w naturlnym kodzie binarnym, jedynie
pierwszy bit (lewy skrajny) nie ma wagi a określa znak liczby:
1  „„-”
0  „+”
(1001)zm = -1*(1*20)= -1
(0101)zm = +1
+1*(1*2
(1 22 +1
+1*2
20))= 5
wady
– niejednoznaczny zapis zera
zera,
– trudności podczas wykonywania operacji arytmetycznych
Jacek Bartman
Kod uzupełnieniowy do dwóch
Kod uzupełnieniowy do dwóch
1
1.
służy
ł ż d
do zapisu
i liliczb
b całkowitych
łk it h ((zarówno
ó
d
dodatnich
d t i h jak
j k i ujemnych)
j
h)
Podane wcześniej kody pozwalają zapisywać jedynie liczby nieujemne.
2
2.
w myśl tego zapisu poszczególne bity mają wagi takie jak w kodzie
binarnym, przy czym, najważniejszy bit poprzedzony jest znakiem minus:
((1001))u = -1 x 23 + 1 x 20 = -8 + 1 = -7
3.
uzupełnienie dwójkowe liczby (liczbę przeciwną) tworzymy poprzez:
- zanegowanie wszystkich bitów i dodanie do wyniku jeden,
- zanegowanie wszystkich bitów od lewej strony, aż do momentu napotkania
w ciągu ostatniej jedynki, jedynki oraz następujących po niej zer się nie
neguje.
4.
uzupełnienie dwójkowe pozwala zastąpić operację odejmowania
dodawaniem
Jacek Bartman
Zapis stałopozycyjny
Zapis stałopozycyjny
1.
służy do zapisu liczb wymiernych (zawierających część ułamkową).
2.
bazuje na systemie pozycyjnym o podstawie 2, wykorzystując do zapisu
części ułamkowej ujemne wykładniki potęg:
n




M   ci 2 i  cn 2 n  ...  c2 p 2  c1p 1
i 1
3.
zalety:
- bardzo prosty,
prosty
- elastyczny;
4
4.
wady:
d
- ogranicza zakres liczb,
- zapis liczb często jest niedokładny
Jacek Bartman
Zapis zmiennopozycyjny
1.
służy do zapisu liczb wymiernych (zawierających część ułamkową),
pozbawiony
b i
jjest wad
d zapisu
i stałopozycyjnego.
ł
j
2.
liczba w systemie zmiennopozycyjnym skład a się z:
- mantysy m,
m
- cechy c;
i można ją zapisać wzorem: L = m2c
3.
mantysę najczęściej przedstawia się w postaci znak- moduł, a cechę w
k d i uzupełnieniowym
kodzie
ł i i
d
do d
dwóch,
ó h
4.
mnożenie liczb zmiennoprzecinkowych sprowadza się do wymnożenia
mantys
t i dodania
d d i cech,
h
5.
dodawanie wymaga zrównania cech, w tym celu zwiększa się wartość
cechy
h jjednej
d j z liliczb
b przesuwając
j jjejj mantysę
t
w prawo.
Jacek Bartman

Podobne dokumenty