systemy liczbowe w architekturze komputerów materiał do wykładu 1/3
DESCRIPTION
Systemy liczbowe w architekturze komputerów materiał do wykładu 1/3. dr inż. Rafał Klaus. Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii informatycznych i ich zastosowań w przemyśle" POKL.04.01.02-00-189/10. Systemy liczbowe. - PowerPoint PPT PresentationTRANSCRIPT
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
dr inż. Rafał Klaus
Systemy liczbowe Systemy liczbowe w architekturze w architekturze
komputerówkomputerówmateriał do wykładu 1/3materiał do wykładu 1/3
Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii informatycznych i ich
zastosowań w przemyśle" POKL.04.01.02-00-189/10
2 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Systemy liczboweSystemy liczbowe
Addytywne: w których liczby tworzy się przez dodawanie
kolejnych symboli, np. rzymski system liczbowy, hieroglificzny,
alfabetyczny, gdzie wartość liczby jest sumą wartości jej znaków cyfrowych
Pozycyjne: które posiadają symbole n liczb naturalnych:
0, 1, 2, ..., n − 1, gdzie n to tzw. podstawa systemu, która może być dowolną liczbą naturalną większą niż 1.
System System pozycyjnypozycyjny
oznaczając przez
cn - cyfrę systemu pozycyjnego
i n – pozycję cyfry
p - podstawę systemu,
wartość reprezentowaną przez symbol liczby zapisujemy jako sumę iloczynów postaci:
3 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
cn * p n + . . . + c2 * p 2 + c1 * p 1 + c0 * p 0
System dziesiętnySystem dziesiętny
4 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Symbol Wartość w systemie Liczba
6 6 *10 0 sześć
65 6 * 10 1 + 5 * 10 0 sześćdziesiąt pięć
243 2 * 10 2 + 4 * 10 1 +3 * 10 0 dwieście czterdzieści trzy
Konwersje systemówKonwersje systemów
(4013)5 = 4 * 5 3 + 0 * 5 2 + 1 * 5 1 + 3 * 5 0 = 500 + 5 + 3 = (508)10
5 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
System dwójkowySystem dwójkowy
Cyframi tego systemu są: 0 i 1.
Symbolizują one dwa stany tzw. 0 - stan niski – (brak działania/brak sygnału)1- stan wysoki – (działanie układu/sygnał)
6 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
1
t00,8
2
5U[V]
0
Konwersja (z BIN na DEC)Konwersja (z BIN na DEC)
(11011101)2 =
= 1 * 2 7 + 1 * 2 6 + 0 * 2 5 + 1 * 2 4 + 1 * 2 3 + 1 * 2 2 + 0 * 2 1 + 1 * 2 0
= 128 + 64 + 16 + 8 + 4 + 1 =
= (221)10
7 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Konwersja (z DEC na BIN)Konwersja (z DEC na BIN)
8 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
DEC BIN : dzielenie przez 2
44 0
22 0 4410 = 1011002
11 1
5 1
2 0
1 1
0
Konwersja (z DEC na BIN)Konwersja (z DEC na BIN)
9 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Część całkowita liczby: 61 .Kolejne
wyniki
dzielenia
przez 2
30 115 07 13 11 10 1
Część ułamkowa liczby
. 5625
Kolejne
wyniki
mnożenia
przez 2
1 12500 25000 50001 0000
61.562510 = 111101.10012
Część całkowita
Reszta
System szesnastkowySystem szesnastkowy
10 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Cyframi tego systemu są: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
(1011|0011|1010)2 = (B3A)16
(11|1011|1110)2 = (0011|1011|1110)2 = (3BE)16
11 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Cyfry systemu szesnastkowego
Liczby systemu dziesiątkowego
Liczby systemu dwójkowego
0 0 00001 1 00012 2 00103 3 00114 4 01005 5 01016 6 01107 7 01118 8 10009 9 1001A 10 1010B 11 1011C 12 1100D 13 1101E 14 1110F 15 1111
Konwersja HEXKonwersja HEX
HEX na DEC(3BE)16 = 3 * 16 2 + 11 * 16 1 + 14 * 16 0 = 768 + 176 + 14 = (958)10
BIN na HEX
1111000111000.111000111B
1 1110 0011 1000.1110 0011 1
0001 1110 0011 1000.1110 0011 10001 E 3 8 . E 3 8
1111000111000.111000111B = 1E38.E38H
12 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Konwersja HEX na BINKonwersja HEX na BIN
0E6C.7F8H
E 6 C . 7 F 81110 0110 1100 . 0111 1111 1000
0E6C.7F8H = 111001101100.011111111000B
13 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Liczby stałoprzecinkoweLiczby stałoprzecinkowe
cn-1...c0,c-1c-2...c-m = cn-1pn-1 + ... + c0p0 + c-1p-1 + c-2p-2 + ... +c-mp-m
253,763 = 2 x 102 + 5 x 101 + 3 x 100 + 7 x 10-1 + 6 x 10-2 + 3 x 10-3
432,321(5) = 4 x 52 + 3 x 51 + 2 x 50 + 3 x 5-1 + 2 x 5-2 + 1 x 5-3
432,321(5) = 4 x 25 + 3 x 5 + 2 x 1 + 3 x 1/5 + 2 x 1/25 + 1 x 1/125
432,321(5) = 100 + 15 + 2 + 3/5 + 2/25 + 1/125
432,321(5) = 117 86/125
432,321(5) = 117,688
14 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Dwójkowe liczby stałoprzecinkoweDwójkowe liczby stałoprzecinkowe
1101,1011(2) = 1 x 23 + 1 x 22 + 0 x 21 + 1 x 20 + 1 x 2-1
+ 0 x 2-2 + 1 x 2-3 + 1 x 2-4
1101,1011(2) = 1 x 8 + 1 x 4 + 0 x 1 + 1 x 1 + 1 x ½ + 0 x 1/4
+ 1 x 1/8 + 1 x 1/16
1101,1011(2) = 8 + 4 + 1 + 1/2 + 1/8 + 1/16
1101,1011(2) = 13 + 10/16
1101,1011(2) = 13,625
15 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Operacje arytmetyczne Operacje arytmetyczne - dodawanie- dodawanie
16 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Tabliczka dodawania binarnego
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0 i 1 dalej
1001 9
+ 0011 +3
1100 12
1010 10
+ 0110 +6
10000 16Przekroczenie górnej granicy liczby - nadmiar (ang. overflow).
0011,011 3,375
+ 0111,110 + 7,750
1011,001 11,125
Operacje arytmetyczne Operacje arytmetyczne - odejmowanie- odejmowanie
17 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Tabliczka odejmowania binarnego
0 - 0 = 0
1 - 0 = 1
1 - 1 = 0
0 - 1 = 1 i pożyczka
1011 11
- 0101 -5
0110 6
0011 3
- 0100 -4
...111111
-1Przekroczenie dolnej granicy liczby - niedomiar (ang. underflow).
1111 15
- 0111 -7
1000 8
Operacje arytmetyczne Operacje arytmetyczne - mnożenie- mnożenie
18 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Tabliczka mnożenia binarnego
0 x 0 = 0
1 x 0 = 0
0 x 1 = 0
1 x 1 = 1
0011 3
x 0101 x 5
0011
0000 ...
+ 0011
001111 15
1011 11
x 1101 x 13
1011
1011 33
+ 1011 + 11
10001111 143
nadmiar (ang. overflow)
Operacje arytmetyczne Operacje arytmetyczne - mnożenie- mnożenie
19 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
10,1 2,5
x 11,01 x 3,25
101 125
101 50
+ 101 + 75
10000011000,001
81258,125
polega na cyklicznym odejmowaniu odpowiednio przesuniętego dzielnika od dzielnej
20 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Operacje arytmetyczne Operacje arytmetyczne - dzielenie- dzielenie
Podzielimy 1110(2) przez 11(2) (14 : 3).
1
1110 - dzielna
11 - przesunięty dzielnik
0010 - różnica dzielnej i przesuniętego dzielnika
21 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Operacje arytmetyczne Operacje arytmetyczne - dzielenie- dzielenie
100 - wynik dzielenia
1110 - dzielna
- 11 - dzielnik
0010 - dzielna po odejmowaniu przesuniętego dzielnika
- 11 - dzielnika nie można odjąć
0010 - dzielna
- 11 - dzielnika nie można odjąć, koniec
0010 - reszta z dzielenia
Liczby ujemne Liczby ujemne znak-modułznak-moduł
Znak kodowany jest stanem najstarszego bitu:
Wartość liczby obliczamy wg następującego wzoru:
22 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
bit znaku = 0 - liczba dodatnia
bit znaku = 1 - liczba ujemna
WZ-M = (1 - 2 x bit znaku) x WM
WZ-M = (-1)bit znaku x WM
liczba w kodzie Z-Mliczba w kodzie Z-M
(0 101)(ZM) = (1 - 2 x 0) x (1 x 22 + 0 x 21 + 1 x 20)(0 101)(ZM) = 1 x (1 x 4 + 1 x 1)(0 101)(ZM) = 1 x (4 + 1)(0 101)(ZM) = 1 x 5(0 101)(ZM) = 5
(1101)(ZM) = (1 - 2 x 1) x (1 x 22 + 0 x 21 + 1 x 20)(1101)(ZM) = -1 x (1 x 4 + 1 x 1)(1101)(ZM) = -1 x (4 + 1)(1101)(ZM) = -1 x 5(1101)(ZM) = -5
23 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Liczba w kodzie Z-MLiczba w kodzie Z-M
24 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
7 6 .....................
znak moduł 000...0 + 0
0 1
+ –
– 127 + 127
100...0 – 0
Two's Complement Two's Complement Numbering System – U2Numbering System – U2
25 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
WU2 = cn-1 x (- pn-1) + cn-2 x pn-2 + ... + c1 x p1 + c0 x p0
0101(U2) = 0 x (- 23) + 1 x 22 + 0 x 21 + 1 x 20
0101(U2) = 0 x (- 8) + 1 x 4 + 0 x 2 + 1 x 10101(U2) = 0 + 4 + 10101(U2) = 5
1101(U2) = 1 x (- 23) + 1 x 22 + 0 x 21 + 1 x 20
1101(U2) = 1 x (- 8) + 1 x 4 + 0 x 2 + 1 x 11101(U2) = (- 8) + 4 + 11101(U2) = - 8 + 51101(U2) = - 3
Kod U2Kod U2
Oblicz wartość przeciwną do liczby 0011(U2) = 3:
Sprawdzenie
1101(U2) = 1 x (-23) + 1 x 22 + 0 x 21 + 1 x 20
1101(U2) = 1 x (-8) + 1 x 4 + 0 x 2 + 1 x 11101(U2) = -8 + 4 + 11101(U2) = -3
26 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
NOT 0011
1100
+ 0001
1101
Kod U2 - działaniaKod U2 - działania
27 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
5 + (-3) 2-(-3)0101 0010
+ 1101 - 11011 0010 1 0101
Wynik 2 Wynik 5
(-2) x 3
11111110
x 00000011 11111110
+ 11111110
1011111010
Wynik = -6
10
0110 : 0011
- 011
0000
0011
NOT 0010
1101
+ 0001
1110
6 = 0110(U2)
-3= 1101(U2) - zmieniamy na 3 = 0011(U2)
kod BCD - Binary Coded Decimalkod BCD - Binary Coded Decimal
28 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
20010
30011
70111
91001
2379(10) = 0010001101111001(BCD
01101000100100110110(BCD) = 0110 1000 1001 0011 011001101000100100110110(BCD) = 6 x 104 + 8 x 103 + 9 x 102 + 3 x 101 + 6 x 100
01101000100100110110(BCD) = 6 x 10000 + 8 x 1000 + 9 x 100 + 3 x 10 + 6 x 101101000100100110110(BCD) = 60000 + 8000 + 900 + 30 + 601101000100100110110(BCD) = 68936
1672(16) = 0001011001110010(2) = 0001 0110 0111 0010(BCD) = 1672(10
Kod BCD – korekcja Kod BCD – korekcja
29 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
29 + 19 31 -180010 1001 0011 0001
+ 0001 1001 - 0001 1000 0100 0010 0001 1001
+ 0000 0110 - 0000 01100100 1000 0001 0011
Wynik = 48 Wynik = 13
Kod Gray’aKod Gray’a
30 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Kod Gray’a000001011010110111101100
Zapis zmiennoprzecinkowyZapis zmiennoprzecinkowy
m - mantysa zapisana w systemie o podstawie pp - podstawa danego systemu pozycyjnegow - wykładnik zapisany w systemie o podstawie p.
31 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
WFP = m x pw
9,45 x 1015 = 94,5 x 1014 = 0,945 x 1016
Liczby zmiennoprzecinkoweLiczby zmiennoprzecinkowe
(3,21 x 1012)(4)
m = 3,21(4) = 3 x 40 + 2 x 4-1 + 1 x 4-2 = 3 x 1 + 2 x 1/4 + 1 x 1/16
m = 3 + 2/4 + 1/16 = 39/16
p = 10(4) = 1 x 41 + 0 x 40 = 1 x 4 + 0 x 1p = 4
w = 12(4) = 1 x 41 + 2 x 40 = 1 x 4 + 2 x 1 = 4 + 2w = 6
(3,21 x 1012)(4) = 39/16 x 46 = 14592 (10)
32 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
33 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
p = 2 , standard IEEE 754
s c m 63 62 52 51 0
znak liczby 10...01 2
0 + 10...10 3
1 – 10...11 4
01...00 – 3
cecha 01...01 – 2
przesunięta 01...10 – 1
01...11 0
10...00 1
dziękuję
34 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego