Problem och deras lösningar
1. Rita en tallinje med heltal från -10 till +10.
Lösning:
2. Lägg till följande binära tal i 8-bitars tvåkomplement: 1010102 och 11112.
Lösning:
3. Använd endast tvåkomplementmetoden i 8-bitar för att subtrahera det binära talet 11112 från det binära talet 1010102.
Lösning:
101010 i 8-bitars tvås komplement är 00101010.
1111 i 8-bitar är 00001111.
Att invertera alla 00001111 i 8-bitar ger 11110000.
Att lägga till 1 till 11110000 ger 11110001.
Subtraktion i tvåkomplement är att addera tvåkomplementets positiva och negativa tal enligt följande:
Den sista bäraren av 1 slängs i tvås komplementsubtraktion.
5. Dela 36,37510 med 100010 i decimal och binär och jämför resultaten.
Lösning:
Återställande division används.
Decimal division i fyra:
Svaret är 36 10 återstoden 375 10 .
De 36 375 10 heltal måste konverteras till bas 2 enligt följande:
Läser resten från botten: 36 375 10 = 1000111000010111 2 .
De 1000 10 heltal måste konverteras till bas 2 enligt följande:
Läser resten från botten: 1000 10 = 1111101000 2 .
Nästa, 1011000100110111 2 delar 1111101000 2 genom lång division (återställande division) sedan 36,375 10 = 1011000100110111 2 och 1000 10 = 1111101000 2 (binär division i tio bitar):
Division börjar faktiskt vid den elfte biten av utdelningen eftersom de första tio bitarna av utdelningen är mindre än divisorn. Svaret är 100100 2 återstoden 101110111 2 .
För jämförelse av resultat bör det nu visas att kvoternas heltal är lika och resten är lika. Det betyder att det ska visas att 36 10 = 100100 2 och 375 10 = 101110111 2 .
6. Använd 8-bitar som du väljer för att illustrera de logiska OCH, ELLER, XOR, Invertera, Skift höger, Skift Vänster, Rotera Höger och Rotera Vänster. Varje byte bör ha en blandning av 1:or och 0:or.
Lösning:
- a) Skriv den numeriska koden för ASCII-tecknet noll i hexadecimal, binär och decimal.
b) Skriv den numeriska koden för ASCII-tecknet '1' i hexadecimal, binär och decimal.
c) Skriv den numeriska koden för ASCII-tecknet 'A' i hexadecimal, binär och decimal.
d) Skriv den numeriska koden för ASCII-tecknet 'a' i hexadecimal, binär och decimal.
Lösning:
a) '0': 30, 00110000, 48
b) '1': 31, 00110001, 49
c) 'A': 41, 001000001, 65
d) 'a': 61, 001100001, 97
8. Konvertera 49,4910 till bas två. Konvertera ditt resultat till IEEE 32-bitars flyttalsformat.
Lösning:
Formulär 49.4910, 49 och .49 konverteras olika till bas 2.
Konvertera 49:
∴ 4910 = 1100012 läst från botten av den sista kolumnen.
Konverterar .49:
.49 x 2 = 0,98 första biten är 0
0,98 x 2 = 1,96 sekunders bit är 1
0,96 x 2 = 1,92 tredje bit är 1
∴ .49 10 = 110 2 läsa från toppen av den sista kolumnen.
Alltså 49,49 10 = 110001,110 2
110001.110 2 = 1,10001110 x 2 +5 i standardform av bas två
Den '1.' i 1,10001110 signifikanden anges inte i resultatet, men den antas finnas där.
För exponenten, 127 10 representerar noll. Det betyder att indexet (kraften) på 5 10 av 2 5 läggs till 127 10 . Det är:
127 10 + 5 10 = 132 10
132 10 måste konverteras till bas två och sedan passas in i fältet för exponenten.
Alltså 132 10 = 10000100 2
10000100 2 har 7 bitar. Exponenten är åtta bitar. 10000100 2 har åtta bitar och det är okej.
49,49 10 är positiv, så teckenbiten är 0. I 32-bitars flyttalsformat, 49,49 10 = 110001,110 2 är:
0 10000100 10001110000000000000000
- a) Hur skiljer sig IEEE 64-bitars flyttalsformat från 32-bitarsformatet?
b) Ge de två relaterade orsakerna till varför 64-bitarsformatet beskrivs som dubbel eller högre precision jämfört med 32-bitars.
Lösning:
- – Det finns 64 bitar för att representera ett tal, och inte 32.
– Efter teckenbiten finns det 11 bitar för exponentnumret.
– Exponentnumret för nollindex (2 0 ) är 1023 10 = 01111111111 2 .
– De elva bitarna följs av 52 bitar för den explicita signifikanden.
– Den har ett bredare antal nummer än 32-bitarsformatet. - Anledningarna till att 64-bitarsformatet beskrivs som dubbel eller högre precision jämfört med 32-bitarsformatet är att intervallet mellan två på varandra följande blandade bråk, avgränsade av två på varandra följande heltal för 64-bitarsformatet, är mindre än motsvarande 32-bitars formatintervall. Det finns också fler möjliga blandade bråk mellan två avgränsade heltal för 64-bitarsformatet än det finns på motsvarande sätt för 32-bitarsformatet.