Cyfrowy zapis informacji 5 grudnia 2013 Wojciech Kucewicz 2
Bit, Bajt, Słowo 5 grudnia 2013 Wojciech Kucewicz 3
Cyfrowy zapis informacji Bit [ang. binary digit] jest elementem zbioru dwuelementowego używanym do reprezentowania informacji. Bit może mieć wartość 1 lub 0. Bit 1 0 0 1 1 0 0 0 MSB bit najbardziej znaczący LSB bit najmniej znaczący 5 grudnia 2013 Wojciech Kucewicz 4
Cyfrowy zapis informacji 1 0 0 1 1 0 0 0 Byte Bajt (byte) ciąg złożony z 8 bitów. Bajt pozwala na zapisanie w systemie binarnym 2 8 liczb (0-255) Ciąg 4 bitów nazywamy czasami nible (nibble). 5 grudnia 2013 Wojciech Kucewicz 5
Cyfrowy zapis informacji 1 0 0 1 1 0 0 0 1 0 0 1 1 0 0 0 Word Słowo (word) jest informacją złożoną z n bajtów. Słowo może zkładać się z 8, 16, 32 lub 64 bitów. Słowo jest traktowane przez układy komputera jako dane do wykonywanej aktualnie operacji, bądź jako zakodowany rozkaz. 5 grudnia 2013 Wojciech Kucewicz 6
Cyfrowy zapis informacji Rozmiar słowa Maksymalna liczba możliwa do zapisania 8 bits 255 16 bits 65535 32 bits 4 294 967 295 64 bits 18 446 744 073 709 551 615 5 grudnia 2013 Wojciech Kucewicz 7
Cyfrowy zapis informacji Kody liczbowe 5 grudnia 2013 Wojciech Kucewicz 8
Kody liczbowe Najbardziej rozpowszechnionymi kodami liczbowymi są kody naturalne. Zapis liczb w kodzie naturalnym jest pozycyjny tj. każdy znak a i zajmuje ściśle określoną pozycję i, której przyporządkowana jest odpowiednia waga w i = p i, gdzie p jest podstawą kodu liczbowego. Podstawa kodu określa ilość znaków używanych w kodzie. 5 grudnia 2013 Wojciech Kucewicz 9
Kod dziesiętny Powszechnie stosowany jest kod (system) dziesiętny. Został opracowany w Indiach ok. V wieku i poprzez Arabów upowszechnił się w Europie. Oparty jest na dziesięciu znakach (cyfrach): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Ilość znaków jest podstawą systemu p = 10 Dowolną liczbę x przedstawia się za pomocą słowa A składającego się z n cyfr zgodnie ze wzorem: x = L(A) = aj a 4 a 3 a 2 a 1 a 0,a -1 a -2 gdzie a jest jednym z używanych znaków, a indeks j jest potęgą podstawy p przez którą znak jest mnożony. 5 grudnia 2013 Wojciech Kucewicz 10
Kod dziesiętny Liczba a j a 1 a 0, a -1 a -2 a j p j +...+ a 1 10 1 + a 0 10 0 + a -1 10-1 + a -2 10-2 Przykład: Liczbę 4321 można zapisać jako: 4321 = 4 10 3 + 3 10 2 + 2 10 1 + 1 10 0 = 4000 + 300 + 20 + 1 = 4321 10 Oznacza kod Przy pomocy n cyfr możemy zapisać p n liczb (od 0 do p n 1) 5 grudnia 2013 Wojciech Kucewicz 11
Kod binarny W technice cyfrowej najczęściej jest stosowany kod dwójkowy (binarny) Oparty jest na dwóch znakach: Podstawa systemu p = 2 0, 1 Przykład Liczbę 1000011100001 2 można zapisać jako 1 2 12 + 0 2 11 + 0 2 10 + 0 2 9 + 0 2 8 + 1 2 7 + 1 2 6 + 1 2 5 + 0 2 4 + 0 2 3 + 0 2 2 + 0 2 1 + 1 2 0 = 4096+128+64+32+1 = 4321 10 5 grudnia 2013 Wojciech Kucewicz 12
Kod oktagonalny Kod oktagonalny oparty jest na ośmiu znakach: 0, 1, 2, 3, 4, 5, 6, 7 Podstawa systemu p = 8 Przykład Liczbę 10341 8 można zapisać jako 1 8 4 + 0 8 3 + 3 8 2 + 4 8 1 + 1 8 0 = 4096+192+32+1= 4321 10 5 grudnia 2013 Wojciech Kucewicz 13
Kod heksadecymalny Kod heksadecymalny oparty jest na szesnastu znakach: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Podstawa systemu p = 16 Przykład Liczbę 10E1 16 można zapisać jako 1 16 3 + 0 16 2 + 14 16 1 + 1 16 0 = 4096+224+1= 4321 10 5 grudnia 2013 Wojciech Kucewicz 14
Cyfrowy zapis informacji Konwersja liczb między różnymi kodami 5 grudnia 2013 Wojciech Kucewicz 15
Kod dziesiętny kod binarny Zamiana liczby całkowitej 50 10 na binarną: Dzielenie przez podstawę Wynik dzielenia Reszta Liczba binarna 50/2 = 25 0 0 25/2 = 12 1 1 12/2 = 6 0 0 6/2 = 3 0 0 3/2 = 1 1 1 1/2 = 0 1 1 a 0 a 1 a 2 a 3 a 4 a 5 50 10 = 110010 2 5 grudnia 2013 Wojciech Kucewicz 16
Kod dziesiętny kod binarny Zamiana liczby ułamkowej 0,375 10 na binarną : Mnożenie przez podstawę Wynik mnożenia Reszta Liczba binarna 0,375 2 = 0 0,75 0 0,75 2 = 1 0,5 1 0,5 2 = 1 0 1 a -1 a -2 a- 3 0,375 10 = 0.011 2 5 grudnia 2013 Wojciech Kucewicz 17
Kod dziesiętny kod binarny Zamiana liczby dziesiętnej 50,375 10 na binarną wykonuje się w dwóch krokach: 1) Konwersja części całkowitej 2) Konwersja części ułamkowej 50,375 10 =50 + 0,375 = 110010 + 0,011 = 110010,011 2 5 grudnia 2013 Wojciech Kucewicz 18
Kod dziesiętny kod binarny Niektóre ułamki można tylko w przybliżeniu przedstawić w postaci binarnej np. 0,3: Mnożenie przez podstawę Wynik mnożenia Reszta Liczba binarna 0,3 2 = 0 0,6 0 0,6 2 = 1 0,2 1 0,2 2 = 0 0,4 0 0,4 2 = 0 0,8 0 0,8 2 = 1 0,6 1 0,6 2 = 1 0,2 1 a -1 a -2 a- 3 a -4 a -5 a- 6 0,3 10 = 0,010011. 2 5 grudnia 2013 Wojciech Kucewicz 19
Kod binarny kod oktagonalny Liczbę binarną należy podzielić na segment 3 elementowe poczynając od przecinka w obie strony a następnie każdy segment zamienić na liczbę oktagonalną: 110010,011 2 110010,011 2 110 010, 011 2 110 010, 011 2 6 2, 3 8 6 2, 3 8 62,3 8 62,3 8 Liczbę oktagonalną zamieniamy na liczbę binarną postępując odwrotnie 5 grudnia 2013 Wojciech Kucewicz 20
Kod binarny kod heksadecymalny Liczbę binarną należy podzielić na segment 4 elementowe poczynając od przecinka w obie strony, a następnie każdy segment zamienić na liczbę heksadecymalną: 110010,011 2 110010,011 2 0011 0010, 0110 2 0011 0010, 0110 2 3 2, 6 16 3 2, 6 16 32,6 16 32,6 16 Liczbę heksadecymalną zamieniamy na liczbę binarną postępując odwrotnie 5 grudnia 2013 Wojciech Kucewicz 21
Kod BCD 8421 W kodzie BCD (ang. Binary Coded Decimal) każda cyfra liczb dziesiętnej jest oddzielnie kodowana dwójkowo w postaci 4-bitowego słowa. Najpopularniejszy jest kod BCD 8421 obejmujący pierwsze 10 liczb z 4- bitowego naturalnego kodu dwójkowego. Cyfra Kod BCD8421 Cyfra Kod BCD8421 0 0000 5 0101 1 0001 6 0110 2 0010 7 0111 3 0011 8 1000 4 0100 9 1001 Przykładowo liczba 369 10 będzie zakodowana następująco: 0011 0110 1001 To nie jest liczba 0011 0110 1001! 3 6 9 5 grudnia 2013 Wojciech Kucewicz 22
Kod 7-segmentowy Kod 7-segmentowy służy do wyświetlania cyfr na wskaźniku 7-segmentowym. Każda cyfra jest tworzona przez zapalenie odpowiednich segmentów wskaźnika. fff ggg aaa b Kod 7-segm. Kod 7-segm. Cyfra Cyfra abcdefg abcdefg 0 1111110 5 1011011 1 0110000 6 1011111 e ccc 2 1101101 7 1110000 d 3 1111001 8 1111111 4 0110011 9 1111011 5 grudnia 2013 Wojciech Kucewicz 23