Datateknikk TELE1004-A 13H HiST-AFT-EDT Delemne digitalteknikk og datakommunikasjon Øving 1; løysing Oppgave 1 Tala i tabellen under skal grunntalskonverterast. Alle rutene i tabellen skal fyllast ut. Vis framgangsmåten. BIN OCT HEX DEC 101001011 0x2E8F \5471 205 0,59375 BIN OCT HEX DEC 101001011 \513 0x14B 331 11001101 \315 0xCD 205 10111010001111 \27217 0x2E8F 11919 101100111001 \5471 0xB39 2873 0,10011 2 0,46 8 0,98 16 0,59325 10 101001011 2 : 101 5 001 1 011 3 = 0001 1 0100 4 1011 B = 1 2 8 +0 2 7 +1 2 6 +0 2 5 +0 2 4 +1 2 3 +0 2 2 +1 2 1 +1 2 0 = 357 10 205 10 : 205 : 2 = 102 + 1/2 102 : 2 = 51 + 0/2 51 : 2 = 25 + 1/2 25 : 2 = 12 + 1/2 12 : 2 = 6 + 0/2 6 : 2 = 3 + 0/2 3 : 2 = 1 + 1/2 1 : 2 = 0 + 1/2 Heiltalsdel lik null er oppnådd. Avlesing av divisjonsrestar nedanfrå gjev 11001101 2 = 011 3 001 1 101 5 = 1100 C 1101 D
2E8F 16 : 0010 2 1110 E 1000 8 1111 F = 010 2 111 7 010 2 001 1 111 1 2 13 +0 2 12 +1 2 11 +1 2 10 +1 2 9 +0 2 8 +1 2 7 +0 2 6 +0 2 5 +0 2 4 +1 2 3 +1 2 2 +1 2 1 +1 2 0 = 11919 10 eller 2 16 3 +14 16 2 +8 16 1 +15 16 0 = 11919 10 5471 8 : 101 5 100 4 111 7 001 1 = 1011 B 0011 3 1001 9 1 2 11 +0 2 10 +1 2 9 +1 2 8 +0 2 7 +0 2 6 +1 2 5 +1 2 4 +1 2 3 +0 2 2 +0 2 1 +1 2 0 = 2873 10 7 0,59375 10 : 0,59375 2 = 1,1875 0,1875 2 = 0,375 0,375 2 = 0,75 0,75 2 = 1,5 0,5 2 = 1,0 Fraksjonsdel lik null er oppnådd. Avlesing av heiltalsdelar ovanfrå gjev 0,10011 2 = 1001 9 1000 8 = 100 4 110 6 Oppgåve 2 Gjer desse addisjonane med binær 2-komplementrepresentasjon. Alle tala skal vera 8 bit lange. Kontroller svara med vanleg desimal rekning. Forklår resultatet av oppgåve e. Det kan vera greitt å ha komplementa til operandverdiane tilgjengelege for bruk: 35 10 = 00100011 78 10 = 01001110 65 10 = 01000001 1-kompl: 11011100 1-kompl: 10110001 2-kompl: 11011101 2-kompl: 10110010 Lovleg område: { 2 8 1, 2 8 1 1} = { 128, 127} (+35) + (+78) 00100011 (35) 01001110 (78) 01110001 (113) pos. forteikn Svaret er eit positivt tal: 14.
b) (+35) + ( 78) ' ' 00100011 (35) 10110010 ( 78) 11010101 neg. forteikn 00101011 (2-komplement) «1» i MSB-posisjon indikerer at svaret er eit negativt tal. 2-kompl. til 11010101 er 00101011 dvs. 43. Svaret er 43. c) ( 35) + (+78) 11011101 ( 35) 01001110 (78) 100101011 stryk overskytande «1» 00101011 (43) pos. forteikn Svaret er eit positivt tal: 43. d) ( 35) + ( 78) ''' 11011101 ( 35) 10110010 ( 78) 110001111 stryk overskytande «1» 10001111 neg. forteikn 01110001 (2-komplement) «1» i MSB-posisjon indikerer at svaret er eit negativt tal. 2-kompl. til 10001111 er 01110001 dvs. 113. Svaret er 113. e) (+65) + (+78) ' 01000001 (65) 01001110 (78)
10001111 neg. forteikn 01110001 (2-komplement) «1» i MSB-posisjon indikerer at svaret er eit negativt tal. 2-kompl. til 10001111 er 01110001 dvs. 113. Svaret er (tilsynelatande) det same som i deloppg. d; det negative talet 113. Men kontrollrekning gjev 65 + 78 = 143, som er eit positivt tal. Merk at 143 ligg utanføre det lovlege talområdet { 128, 127}. Føresetnaden for å bruka 2-komplementmetoden med berre 8 bit er ikkje oppfylt. I dette tilfellet resulterer det i overflyt; svaret 113 er feil. Oppgåve 3 Konverter desse tala til vanleg BCD-kode (nbcd/8421): 923 10, 2F7 16, 100101101000 2, 11010001101 2. 923 10 = 1001 9 0010 2 0011 3 dvs. 1001 0010 0011 BCD. 2F7 16 = 14 16 2 +8 16 1 +15 16 0 = 759 10 = 0111 7 0101 5 1001 9 dvs. 0111 0101 1001 BCD. 100101101000 2 = 1 2 11 +0 2 10 +0 2 9 +1 2 8 +0 2 7 +1 2 6 +1 2 5 +0 2 4 +1 2 3 +0 2 2 +0 2 1 +0 2 0 = 2408 10 = 0010 2 0100 4 0000 0 1000 8 dvs. 0010 0100 0000 1000 BCD. b) Konverter det BCD-koda talet 1001 0011 0111 BCD til desimaltal. 1001 0011 0111 BCD = 937 10 (merk at dette ikkje er det same som HEX 1001 9 0011 3 0111 7 ) c) Skriv denne teksten i 7-bit ASCII med odde paritet i MSB-posisjonen, altså 8-bit kodeord. <a href="http://www.hist.no/">hist</a> Merk at teikn nr. 3 er eit blankteikn [SP]. Gje opp svaret på binær og heksadesimal form i tre kolonnar: Teikn BIN HEX Det held at du finn svar for dei ti fyrste teikna i teksten. Vink: Odde paritetsbit skal setjast i MSB-posisjon, og slik at der alltid er 1, 3 5 eller 7 «1»-bit i kodeordet.
ASCII p 765 4321 HEX < 1 011 1100 BC a 0 110 0001 61 0 010 0000 20 h 0 110 1000 68 r 1 111 0010 F2 e 1 110 0101 E5 f 1 110 0110 E6 = 0 011 1101 3D " 1 010 0010 A2 h 0 110 1000 68 t 1 111 0100 F4 t 1 111 0100 F4 p 0 111 0000 70 : 1 011 1010 BA / 0 010 1111 2F / 0 010 1111 2F w 1 111 0111 F7 w 1 111 0111 F7 w 1 111 0111 F7. 1 010 1110 AE h 0 110 1000 68 i 1 110 1001 E9 s 0 111 0011 73 t 1 111 0100 F4. 1 010 1110 AE n 0 110 1110 6E o 1 110 1111 EF / 0 010 1111 2F " 1 010 0010 A2 > 0 011 1110 3E H 1 100 1000 C8 i 1 110 1001 E9 S 1 101 0011 D3 T 0 101 0100 54 < 1 011 1100 BC / 0 010 1111 2F a 0 110 0001 61 > 0 011 1110 3E
Oppgåve 4 Skriv ein tabell som definerer OR-operasjonen og ein tabell som definerer AND-operasjonen. OR-operasjonen er skriven med operatorsymbol «+» og AND-operasjonen med. A B A + B A B 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 Oppgåve 5 Vis at A + A B = A+B ved å undersøkja alle dei fire kombinasjonane av verdiar for A og B. Den fyrste hjelpekolonnen er den inverterte variabelen A. Med utgangspunkt i det er den neste hjelpekolonnen produktleddet A B. Dei to hjelpekolonnane gjev kolonnen for A + A B, og med det er tabellkolonnen for det fyrste uttrykket ferdig. Tabellkolonnen for det andre uttrykket, A + B, kan skrivast opp direkte, jf. oppg 1. A B A A B A + A B A + B 0 0 1 0 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 0 0 1 1 b) Vis at A B C = A+B+C ved å undersøkja alle dei åtte kombinasjonane av verdiar for A, B og C. (Her viser ein at DeMorgans regel gjeld når det er 3 variable. Regelen gjeld faktisk òg for 4 og fleire variable.) Som hjelpekolonnar for det fyrste uttrykket kan ein setja opp dei inverterte variablane A, B og C, og som hjelpekolonne for det andre uttrykket kan produktet A B C setjast opp. A B C A B C A B C A + B + C A B C 0 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 0 1 1
1 0 1 0 1 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 1 0 0 0 1 0 0 Dei to resultatkolonnane er identiske, og me kan setja «=»-teikn mellom dei to uttrykka. Oppgåve 6 Den distributive lova er ein rekneregel som kan uttrykkjast slik: A (B+C) = A B+ A C Finn den duale forma av dette uttrykket. Dual form: OR skal bytast ut med AND og motsett. «0» skal bytast ut med «1» og motsett. Det løner seg å skriva ut ev. parentesar, slik at ein unngår å gjera feil pga. operatorhierarkiet. A (B + C) = A B + A C Med parentesar: A (B + C) = (A B) + (A C) No kan det duale uttrykket skrivast opp vha. regelen: A + (B C) = (A + B) (A + C) Fjerning av overflødig parentes: A + B C = (A + B) (A + C) Dette er den forma av distributiv lov (rekneregel P.4) som ein ikkje kjenner att frå «vanleg» algebra. Oppgåve 7 Uttrykket A C+ B C skal skrivast om til eit uttrykk med 3 bokstavar. (Vink: Bruk rekneregel P.4) A C + B C = (A + B) C (rekneregel P.4; den distributive lov b) Uttrykket A B C+ A B C skal skrivast om til eit uttrykk med 2 bokstavar. (Vink: Sjå etter felles faktor(ar), og bruk reknereglane P.4, P.5 og P.2) A B C + A B C = A C (B + B) (P.4) = A C 1 (P.5) = A C (P.2)
Oppgåve 8 Skriv opp funksjonstabellen til funksjonen F( x, y, z) = x y+x y+ y z Som hjelpekolonnar kan ein setja opp produktledda x y, x y og y z. x y z x y x y y z F (x, y, z) 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 1 0 1 1 1 1 1 0 1 0 0 1 1 1 1 1 0 0 1