Kodownie licz Kodownie stłopozycyjne licz cłkowitych Niech licz cłkowit m w systemie dwójkowym postć: nn 0 Wtedy może yć on przedstwion w postci ( n+)-itowej przy pomocy trzech niżej zdefiniownych kodów Kod prosty 0n pr n n n 0 0, gdy znkiem liczy jest, gdy znkiem liczy jest Kod rotny, -kod, kod uzupełniony do 0nn 0, gdy znkiem liczy jest pr nn 0, gdy znkiem liczy jest, gdzie dl i 0,,, n i i Kod ełnieniowy, -kod, kod uzupełniony do 0nn 0, gdy znkiem liczy jest nn 0 0 0, gdy znkiem liczy jest, n rzy gdzie dl i 0,,, n i i Uwg Licz 0 w kodzie prostym i kodzie rotnym jest kodown jko 0 lu 0; w systemie ełnieniowym jest on kodown tylko jko 0 Zkodujemy podne liczy cłkowite przy pomocy 7 itów 00 Mmy 000, skąd 0000 pr ) 00 Mmy 000, skąd 000; pr 000; c) Wtedy ; pr 000 000000 00 000000; 000000 000000 00000
d) 0 Jeżeli przyjmiemy, że 000000, to 0000000 pr W kodzie prostym i w kodzie rotnym możn złożyć, że 000000, i wtedy 000000 pr ; Rozkodujemy przykłdowe liczy, tzn znjdziemy ich reprezentcje dwójkowe n podstwie wrtości ich kodów 7-itowych kod 0000 kod pr 000 0 ) 0 kod kod pr 0 ; kod 00000 0000 ; kod 0 000000 00 0000 000 00 c) 00 kod kod pr 000 ; kod 000 00 ; kod 0000 000000 000 000 d) 000000 kod kod pr 00000 0 ; kod ; kod 000000 000000 0 sprzeczność, o 0 A więc zgodnie z przyjętym określeniem kodu ełnieniowego równość nie jest możliw! Dltego 000000 000000 n podstwie dodtkowej umowy przyjmuje się, że Kodownie stłopozycyjne dodwnie i odejmownie licz cłkowitych Dodwnie Przypdek kodu rotnego Prześledzimy zgdnienie n reprezenttywnych przykłdch licz kodownych przy pomocy 8 itów 0 00 0 00000 000 0 000 00 00 00 00000 0 000
) 00 00 0 00 00 0 00 00 c) 00 0 00 00 00 00 0 d) 0 00 0 00000 000 000 0 000 0 00 0 000 00 0 + 000 00 0 00 0 00 00 0 000 000 0 0 0000 + 000 0 Wniosek Ay otrzymć kod rotny sumy dwóch licz, nleży dodć ich kody rotne i w przypdku powstni itu przepełnieni sumę tę powiększyć o Przypdek kodu ełnieniowego Prześledzimy zgdnienie n reprezenttywnych przykłdch licz kodownych przy pomocy 8 itów 0 00 0 00000 000 0 000 ) 00 00 0 00 00 0 00 00 00 00 00 00000 0 000 000 0 000 000 00 odrzucić! 000 00 3
c) 00 0 00 00 00 00 d) 0 00 0 00000 000 000 0 00 0 00 00 00 0 00 00000 000 odrzucić! 000 Wniosek Ay otrzymć kod ełnieniowy sumy dwóch licz, nleży dodć ich kody ełnieniowe i ewentulny it przepełnieni odrzucić Odejmownie Z uwgi n równość ( ) odejmownie może yć zstąpione dodwniem liczy i liczy przeciwnej do liczy Dltego powstje prolem uzyskiwni kodu liczy przeciwnej z kodu liczy dnej Prześledzimy zgdnienie n reprezenttywnych przykłdch licz kodownych przy pomocy 8 itów Przypdek kodu rotnego 00 00 ) 0000 0000 c) 00 00 d) 0000 0000 000 0000 000 00000 00 00000 0000 000 0000 00 00000 00 4
Wniosek Ay otrzymć kod rotny liczy przeciwnej nleży oliczyć tzw ełnienie do kodu liczy dnej Oto przykłdy opercji, o której mow w osttnim wniosku 00000 00 ; ) 000000 0 Przypdek kodu ełnieniowego 00 00 ) 0000 0000 c) 00 00 d) 0000 0000 000 000 000 00000 00 0000 0 000 000 000 0000 00000 0 000 Wniosek Ay otrzymć kod ełnieniowy liczy przeciwnej nleży oliczyć tzw ełnienie do kodu liczy dnej Oto przykłdy opercji, o której mow w osttnim wniosku 00 000 0000 Inn metod: 00 0 0 0 0 5
) 00 0000 Inn metod: 000 0 0 000 0 c) 000000 000000 Inn metod: 0 0000 0 0 Otrzymliśmy sprzeczność, o licz przeciwn do liczy o rozwżnym kodzie jest poz zkresem! Ćwiczenie Wykonć poniższe dodwnie i odejmownie przy pomocy kodu rotnego i kodu ełnieniowego rgumentów tych opercji Sprwdzić otrzymne wyniki przy pomocy trdycyjnego dodwni i trdycyjnego odejmowni s 000 000 Kod rotny 000 0000 000 0000 000 0 0 0 0 0 0000 0 + 0000 0 ełnieniowy skod 00 000 0000 000 000 Odrzucić! ssprwdzenie 000 0 0 0 0 0000 0000 00 000 0 00 00 6
) r 0000 000 Kod rotny 000 0000 000 000 00000 0000 Kod ełnieniowy 000 0000 00 0 00 00 0 r 0000 000 0000 0000 00000 0000 Sprwdzenie 000 0 000 000 0 000 00 0 00 00 r 0000 Kodownie dwójkowo-dziesiętne Istot tego systemu poleg n kodowniu przy pomocy 4 itów kżdej cyfry zpisu dziesiętnego liczy Możn stworzyć wiele systemów tego typu, le w prktyce stosuje się kod BCD (Binry Coded Deciml) zwny tkże kodem 8-4--, kod Aiken zwny tkże kodem -4-- i kod z ndmirem 3, oznczny dlej symolem +3 Oto definicj tych systemów: Przykłd Cyfr dziesiętn Kod 8-4-- Kod -4-- Kod +3 0 0000 0000 00 000 000 000 000 000 00 3 00 00 00 4 000 000 0 5 00 0 000 6 00 00 00 7 0 0 00 8 000 0 0 9 00 00 8970 84 000 000 00 0 0000; 8970 4 000 0 0 0000; 8970 3 000 0 00 00 00 7
Ćwiczenie Zkodowć przy pomocy 6 itów poniższe liczy dziesiętne: 795 Rozwiąznie 795 84 0 00 000 00; 795 4 0 000 0; 795 3 00 00 00 000 ) 348 0348 Rozwiąznie 0348 84 0000 00 000 000 0348 4 0000 00 000 0 0348 3 00 00 0 0 ; ; Ćwiczenie Rozkodowć liczy dziesiętne zkodowne przy pomocy 6 itów: x 00 000 00 0 kod Rozwiąznie kod " 8 4 " x 34()() kod " 4 " x 3465 kod " 3" x 098 sprzeczność! ) x 00 0 000 00 kod Rozwiąznie kod " 8 4 " x 9783 kod " 4 " x 373 kod " 3" x 6450 sprzeczność! Kodownie zmiennopozycyjne licz rzeczywistych Jeżeli ustlon jest podstw systemu liczowego p, to kżd licz rzeczywist może yć zpisn przy pomocy tzw notcji nukowej w postci: c m p, gdzie współczynnik m nzyw się mntysą, wykłdnik c ędący liczą cłkowitą cechą liczy Zkłdć ędziemy, że część ułmkow mntysy m rozwinięcie skończone, co ozncz, że opisn reprezentcj niekiedy przedstwi liczą w sposó przyliżony Poniewż notcj nukow nie jest jednoznczn, więc w przypdku, gdy 0, częstą stosuje się tzw notcję znormlizowną polegjącą n tym, że m orz c są tk dorne, y m m m, 0 m k p przy czym m 0 Gwrntuje to zchodzenie nierówności m p Innym stosownym wrunkiem normlizcyjnym jest przedstwinie m w postci m m m tk, y zchodził nierówność, m k p m p 8
Opisne niżej systemy kodowni licz rzeczywistych zwne reprezentcjmi zmiennoprzecinkowymi w sposó istotny wykorzystują opisne notcje nukowe Stndrd IBM Występuje tu tzw reprezentcj krótk 3-itow i reprezentcj dług 64-itow Jeżeli kodown licz rzeczywist nie jest zerem, to dje się on przedstwić w postci S C64 ( ) 6 (0 M ), gdzie prmetr S równy 0 lu określ znk liczy, prmetr C nzyw się chrkterystyką prmetr M jest częścią ułmkową wyrżonej w systemie dwójkowym mntysy liczy Jeżeli C zostnie przedstwione w systemie dwójkowym przy pomocy 7 itów, to licz jest kodown w nstępujący sposó: Reprezentcj krótk: 0 7 8 3 Reprezentcj dług: 0 7 8 63 Rozkodujemy liczy zmiennoprzecinkowe zkodowne w stndrdzie IBM 0 6564 9 9 IBM 0 00000 00 0 ( ) 6 6 55 4 8 3 3 6364 5 5 ) IBM 0 000 0 ( ) 6 0039065 8 6 8 8 Zkodujemy liczę w stndrdzie IBM 5 97504 5 6964 97504 6 6 0875 ( ) 6 0 5 6 gdyż 0 8 7 5 0 7 5 0 5 7 5 0 50 0 Pondto 6 5 4 3 0 69 64 4 0 0 0 0 0000 i dltego 0000 0 0 IBM ) 064 0 6 00 0 i dltego 0 000000 00 0 IBM S C M, 9
Stndrd IEEE Tu również występuje reprezentcj krótk 3-itow i reprezentcj dług 64-itow N potrzey tej pierwszej przedstwimy liczę 0 w postci S E7 ( ) F (symole E orz F oznczją pewne liczy nturlne nie cyfry sytemu pozycyjnego) i definiujemy reprezentcję w nstępujący sposó zkłdjąc, że E jest wyrżone w systemie dwójkowym: 0 8 9 3 S E F W przypdku reprezentcji długiej punktem wyjści jest S przedstwienie S E03 ( ) F kod m postć 0 63 S E F S Rozkodujemy liczy zmiennoprzecinkowe zkodowne w systemie krótkim IEEE F800000 0 77 0 0 000 0000 0000 0000 0000 0000 ( ) 0 IEEE 3 6 ) IEEE c) IEEE 77 BF8000006 0 000 0000 0000 0000 0000 0000 ( ) 0 0 87 404800006 0 00 0000 0 00 000 0000 0000 0000 0000 ( ) 00 00 3 35 8 Przykłd Zkodujemy liczę 30 5 w krótkim systemie IEEE Mmy orz Stąd 305 4 3 0 0 0 00 7 6 5 4 00 ( ) 00, 37 3 8 0 0 0 0 0 00000 IEEE 000 000 00 0 CF 0000 00 6 Przykłd Rozkodujemy liczę zmiennoprzecinkową zkodowną w systemie długim IEEE Niech C E 0 0 00 0000 00 00000 0 Stąd IEEE 03 6 rzy 0703 ( ) 0 4 4 3 (6 8 4 ) 30 0 0
Przykłd Zkodujemy liczę 7 65 w długim kodzie IEEE Mmy 65 5 5 6 3 6 8 4 7 7 7 4 0 000 40 8 8 8 8 0 0503 0 ( ) 0 przy czym 05 04 00 0000 000 Stąd IEEE 000 0000 000 0 000 0 0 40E 8000 0000 00006, Uwg W przypdku stndrdu IEEE, zrówno krótkiego jk i długiego, nstępujące przypdki szczególne wymgją wyjśnieni Jeżeli E 0 0 orz F 0 0, to jest njmniejszą liczą, co do wrtości ezwzględnej, którą możn w dnym systemie zkodowć i dltego przyjmuje się w zleżności od tego, czy it S jest zerem, czy jedynką, że jest to reprezentcj 0 lo 0 E7 E03 ) Jeżeli E orz F 0 0, to czynnik lo osiąg njwiększą możliwą wrtość i dltego przyjmuje się w zleżności od tego, czy it S jest zerem, czy jedynką, że jest to reprezentcj lo