Lösningar på problemen i kapitel 3 i hela onlinekursen för datavetenskap och karriär på internet från början

Losningar Pa Problemen I Kapitel 3 I Hela Onlinekursen For Datavetenskap Och Karriar Pa Internet Fran Borjan



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 .

För heltalsdelarna:

För resten:

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:

  1. 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

  1. 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:

  1. – 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.
  2. 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.