BINARNI KODOVI BINARNO KODIRANI DECIMALNI BROJEVI (BCD KOD) BCD kod za prikaz jedne znamenke koristi 4 bita, pri čemu se znamenka zapisuje kao binarni ekvivalent njene vrijednosti. Primjer 2.1: Dekadski broj 3720 prikažite u BCD kodu. Rješenje: Pretvorimo znamenke iz dekadskih u binarne vrijednosti u grupama po 4 bita: 3 0011 7 0111 2 0010 0 0000 Slijedi da je broj 3720 kodiran u BCD kod: 0011011100100000. Zadatak 2.1: Dekadski broj 952713 prikažite u BCD kodu. Rješenje: 1001 0101 0010 0111 0001 0011 SIGURNOSNI KODOVI ZA KONTROLU PARITETA U prijenosu signala se u praksi uvijek događaju pogreške, najčešće uzrokovane smetnjama na prijenosnim sustavima. Da bi se signali zaštitili, a time i informacija koju prenosimo, koristimo se kodovima koji omogućuju detekciju greške. Redudanciju (zalihost) koda definiramo izrazom: R= broj zaštitnih bitova / ukupan broj bitova Primjer 2.2: U računalu koristimo memoriju s neparnim paritetom. Podatak se smješta u 8 bita, a 9-ti bit je bit za otkrivanje i korekciju greške. Prilikom zapisa podatka u registar, bit pariteta se koristi tako da se postavlja na 1 ako je broj jedinica u bloku podatka neparan (neparan paritet). Kolika je redudancija ovakvog kodiranja ? Ako broj zaštitnih bitova označimo sa r, a ukupan broj bitova sa n : R= r/n=1/9=0,1111 1 Zadatak 2.2: Objasni svojstva ovakvog kodiranja. Rješenje: Ovakav kod otkriva svaku jednostruku i neparan broj grešaka. Greške se ne mogu popraviti. Zadatak 2.3: U računalu koristimo memoriju s parnim paritetom. Kontrolni bit se postavlja na 1 ako je broj jedinica u registru podatka paran. U registru je smješten binarni podatak: 1101 0101. Na koju vrijednost se postavlja bit pariteta ? Rješenje: U registru podatka imamo 5 jedinica (neparan broj). Bit pariteta se postavlja na 0. HAMMINGOVI KODOVI Hamming je prvi izveo linearne kodove (n,k) koji korigiranju pojedinačnu pogrešku, pri čemu je: n = ukupan broj bitova u kodnoj riječi k = broj bitova informacije m = n-k = broj kontrolnih bitova Vrijedi pravilo da mora postojati odnos: 2m ≥ k + m +1 Kontrolni bitovi se umeću na pozicijama koje su potencije broja 2. Primjer 2.3: Koliko je bitova potrebno za prijenos 12 bita informacije Hammingovim kodom. Rješenje: Ako sa C označimo kontrolne, a sa P podatkovne bitove: 1 2 0 2 C 3 1 2 C 4 5 6 7 2 P 2 C 8 9 10 11 12 13 14 15 3 P P P 2 C 16 17 4 P P P P P P P 2 C P potrebno je poslati ukupno 17 bitova da bismo prenijeli 12 bitova informacije, upotrebom Hammingova koda. 2 Zadatak 2.4: Formirajte Hammingovu matricu za slanje 4 bita informacije C1 C2 P1 C3 P2 P3 P4 1 2 3 4 5 6 7 20 21 x x x 0 22 x 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 Zadatak 2.5: Upotrebom Hammingove matrice iz prethodnog zadatka zaštite 4 bita informacije: 0110 Primjenite neparni paritet. Rješenje: Kontrolne bitove određujemo uz pomoć matrice, primjenjujući slijedeće pravilo: 1. Pravilo za računanje kontrolnog bita je sadržano u onom retku matrice gdje je za kontrolni bit kojeg računamo postavljena vrijednost 1. Prvi kontrolni bit ima jedinicu u 3. retku, ispitujemo paritet na P1, P2, P4 Drugi kontrolni bit ima jedinicu u 2. retku, ispitujemo paritet na P1, P3, P4 Treći kontrolni bit ima jedinicu u 1. retku, ispitujemo paritet na P2, P3, P4 2. Računamo paritet na zadanim vrijednostima, iz bit-ova informacije C1 = ? P1=0, P2=1, P4=0 -> UKUPAN BROJ JEDINICA NEPARAN C1 = 1, ZBOG TRAŽENOG NEPARNOG PARITETA C2 = ? P1=0, P3=1, P4 =0 C2 = 1 C3 = ? P2=1, P3=1, P4=0 C3 = 0 Spojimo kontrolne bitove s bitovima informacije i dobivamo za slanje: 1100110 3 Zadatak 2.7: Hammingovim kodom zaštite podatak: 1000 1111 01. Primjenite neparni paritet. Izračunajte redudanciju takvog kodiranja. 1 c 0 0 0 1 x c1 2 c 0 0 1 0 3 p 0 0 1 1 x c2 1 c1 c2 c3 c4 4 c 0 1 0 0 x c3 5 p 0 1 0 1 6 p 0 1 1 0 7 p 0 1 1 1 0 0 0 8 c 1 0 0 0 x c4 9 p 1 0 0 1 10 p 1 0 1 0 11 p 1 0 1 1 12 p 1 1 0 0 13 p 1 1 0 1 14 p 1 1 1 0 1 1 1 1 0 1 1 0 0 1 R=r/n=4/14=0,286 EXCESS-3 KOD Kao i BCD kod za kodiranje jedne dekadske znamenke koristi 4 bita, pri čemu se znamenka zapisuje kao binarni ekvivalent njene vrijednosti uvećane za 3. Primjer 2.4: Dekadski broj 3720 prikažite u Excess-3 kodu. Rješenje: 3 7 2 0 0110 1010 0101 0011 Slijedi da se 3720 zapisuje kao: 0110 1010 0101 0011 BIKVINARNI KOD Za kodiranje dekadskih znamenki se primjenuje slijedeća tablica : broj 0 1 2 3 4 5 6 7 8 9 bikvinarni kod 5043210 0100001 0100010 0100100 0101000 0110000 1000001 1000010 1000100 1001000 1010000 4 Koristeći ovaj kod postižemo uvijek isti broj jedinica za svako kodiranje. Primjer 2.5: Dekadski broj 255 prikažite u bikvinarnom kodu. Rješenje: 2 5 5 0100100 1000001 1000001 ASCII KOD Služi za kodiranje znakova: • • • • 26 velikih slova engleske abecede 26 malih slova engleske abecede 10 znamenaka operatori, interpunkcije, upravljački znakovi Za pohranu 1 znaka dovoljan je 1 byte. Najstariji standard je ASCII (ISO-7 standard): 7 bita za informaciju + 1 bit za paritet Ö 27 = 128 različitih znakova. Satoji se od specijalnih znakova (znakovi za upravljanje ulazno-izlaznim jedinicama računala) -> (0-31 dekadski) i od znakova koji se mogu tiskati -> (32-127 dekadski) Najvažnije ASCII vrijednosti: 0 – znak NULL (‘\0’) 32 – praznina (‘ ‘) 48 – 57 – znamenke ‘0’-‘9’ 65 – 90 – velika slova ‘A’ do ‘Z’ 97 –122 – mala slova ‘a’ do ‘z’ (97-65=32 – razlika između malog i velikog slova!) Ispis ASCII tablice: Dekadski Oktalno Hex ------------000 000 000 001 001 001 002 002 002 003 003 003 004 004 004 005 005 005 006 006 006 007 007 007 008 010 008 009 011 009 010 012 00A 011 013 00B 012 014 00C 013 015 00D 014 016 00E 015 017 00F 016 020 010 Binarno -----00000000 00000001 00000010 00000011 00000100 00000101 00000110 00000111 00001000 00001001 00001010 00001011 00001100 00001101 00001110 00001111 00010000 Vrijednost ----NUL (Null char.) SOH (Start of Header) STX (Start of Text) ETX (End of Text) EOT (End of Transmission) ENQ (Enquiry) ACK (Acknowledgment) BEL (Bell) BS (Backspace) HT (Horizontal Tab) LF (Line Feed) VT (Vertical Tab) FF (Form Feed) CR (Carriage Return) SO (Shift Out) SI (Shift In) DLE (Data Link Escape) 5 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 021 022 023 024 025 026 027 030 031 032 033 034 035 036 037 040 041 042 043 044 045 046 047 050 051 052 053 054 055 056 057 060 061 062 063 064 065 066 067 070 071 072 073 074 075 076 077 100 101 102 103 104 105 106 107 110 111 112 113 114 115 116 117 120 121 122 123 124 125 126 127 130 131 132 133 134 135 011 012 013 014 015 016 017 018 019 01A 01B 01C 01D 01E 01F 020 021 022 023 024 025 026 027 028 029 02A 02B 02C 02D 02E 02F 030 031 032 033 034 035 036 037 038 039 03A 03B 03C 03D 03E 03F 040 041 042 043 044 045 046 047 048 049 04A 04B 04C 04D 04E 04F 050 051 052 053 054 055 056 057 058 059 05A 05B 05C 05D 00010001 00010010 00010011 00010100 00010101 00010110 00010111 00011000 00011001 00011010 00011011 00011100 00011101 00011110 00011111 00100000 00100001 00100010 00100011 00100100 00100101 00100110 00100111 00101000 00101001 00101010 00101011 00101100 00101101 00101110 00101111 00110000 00110001 00110010 00110011 00110100 00110101 00110110 00110111 00111000 00111001 00111010 00111011 00111100 00111101 00111110 00111111 01000000 01000001 01000010 01000011 01000100 01000101 01000110 01000111 01001000 01001001 01001010 01001011 01001100 01001101 01001110 01001111 01010000 01010001 01010010 01010011 01010100 01010101 01010110 01010111 01011000 01011001 01011010 01011011 01011100 01011101 DC1 (XON) (Device Control 1) DC2 (Device Control 2) DC3 (XOFF)(Device Control 3) DC4 (Device Control 4) NAK SYN (Synchronous Idle) ETB (End of Trans. Block) CAN (Cancel) EM (End of Medium) SUB (Substitute) ESC (Escape) FS (File Separator) GS (Group Separator) RS (Request to Send) US (Unit Separator) SP (Space) ! (exclamation mark) " (double quote) # (number sign) $ (dollar sign) % (percent) & (ampersand) ' (single quote) ( (left parenthesis) ) (right parenthesis) * (asterisk) + (plus) , (comma) (minus or dash) . (dot) / (forward slash) 0 1 2 3 4 5 6 7 8 9 : (colon) ; (semi-colon) < (less than) = (equal sign) > (greater than) ? (question mark) @ (AT symbol) A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ (left/opening bracket) \ (back slash) ] (right/closing bracket) 6 094 095 096 097 098 099 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 136 137 140 141 142 143 144 145 146 147 150 151 152 153 154 155 156 157 160 161 162 163 164 165 166 167 170 171 172 173 174 175 176 177 05E 05F 060 061 062 063 064 065 066 067 068 069 06A 06B 06C 06D 06E 06F 070 071 072 073 074 075 076 077 078 079 07A 07B 07C 07D 07E 07F 01011110 01011111 01100000 01100001 01100010 01100011 01100100 01100101 01100110 01100111 01101000 01101001 01101010 01101011 01101100 01101101 01101110 01101111 01110000 01110001 01110010 01110011 01110100 01110101 01110110 01110111 01111000 01111001 01111010 01111011 01111100 01111101 01111110 01111111 ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ DEL (caret/cirumflex) (underscore) (left/opening brace) (vertical bar) (right/closing brace) (tilde) (delete) Primjer: 2.6. U računalu je binarno zapisana informacija: „VSTSI“. Prikažite zapis u računalu. Rješenje: V S T S I -> -> -> -> -> ascii: ascii: ascii: ascii: ascii: 086 083 084 083 073 -> binarno u računalu: 01010110 -> 01010011 -> 01010100 -> 01010011 -> 01001001 Zadatak: 2.8. Prikažite zapis u računalu iz prethodnog zadatka pod pretpostavkom da se 1. bit s lijeve strane koristi za kontrolu pariteta. Primjenite neparni paritet. 01010110 01010011 01010100 01010011 01001001 - > > > > > broj broj broj broj broj jedinica: jedinica: jedinica: jedinica: jedinica: 4 4 3 4 3 - > > > > > bit bit bit bit bit pariteta=0 pariteta=0 pariteta=1 pariteta=0 pariteta=1 ->zapis ->zapis ->zapis ->zapis ->zapis s s s s s paritetom: paritetom: paritetom: paritetom: paritetom: 01010110 01010011 11010100 01010011 11001001 7
© Copyright 2024 Paperzz