Problemer og deres løsninger
1. Tegn en talllinje med heltall fra -10 til +10.
Løsning:
2. Legg til følgende binære tall i 8-bits to-komplement: 1010102 og 11112.
Løsning:
3. Bruk bare to-komplementmetoden i 8-biter for å subtrahere det binære tallet 11112 fra det binære tallet 1010102.
Løsning:
101010 i 8-bits tos komplement er 00101010.
1111 i 8-bit er 00001111.
Invertering av alle 00001111 i 8-bit gir 11110000.
Å legge til 1 til 11110000 gir 11110001.
Subtraksjon i tos komplement er å legge til tos komplement positive og negative tall som følger:
Den siste bæreren på 1 kastes i tos komplementsubtraksjon.
5. Del 36,37510 med 100010 i desimal og i binær og sammenlign resultatene.
Løsning:
Gjenopprettingsinndeling brukes.
Desimaldeling i firere:
Svaret er 36 10 resten 375 10 .
De 36.375 10 heltall må konverteres til base 2 som følger:
Leser resten fra bunnen: 36 375 10 = 1000111000010111 2 .
De 1000 10 heltall må konverteres til base 2 som følger:
Leser resten fra bunnen: 1000 10 = 1111101000 2 .
Neste, 1011000100110111 2 deler 1111101000 2 ved langdeling (gjenopprettingsdeling) siden 36.375 10 = 1011000100110111 2 og 1000 10 = 1111101000 2 (binær divisjon i ti biter):
Divisjon starter faktisk ved den ellevte biten av utbyttet siden de første ti bitene av utbyttet er mindre enn divisoren. Svaret er 100100 2 resten 101110111 2 .
For sammenligning av resultater, bør det vises nå at heltallene til kvotientene er like og restene er like. Det betyr at det skal vises at 36 10 = 100100 2 og 375 10 = 101110111 2 .
6. Bruk 8-bits etter eget valg for å illustrere de logiske OG, ELLER, XOR, Inverter, Skift høyre, Skift til venstre, Roter til høyre og Roter til venstre. Hver byte skal ha en blanding av 1-er og 0-er.
Løsning:
- a) Skriv den numeriske koden for ASCII-tegnet av null i heksadesimal, binær og desimal.
b) Skriv den numeriske koden for ASCII-tegnet '1' i heksadesimal, binær og desimal.
c) Skriv den numeriske koden for ASCII-tegnet til 'A' i heksadesimal, binær og desimal.
d) Skriv den numeriske koden for ASCII-tegnet til 'a' i heksadesimal, binær og desimal.
Løsning:
a) '0': 30, 00110000, 48
b) '1': 31, 00110001, 49
c) 'A': 41, 001000001, 65
d) 'a': 61, 001100001, 97
8. Konverter 49.4910 til base to. Konverter resultatet til IEEE 32-bits flyttallformat.
Løsning:
Skjema 49.4910, 49 og .49 konverteres annerledes til base 2.
Konvertering 49:
∴ 4910 = 1100012 lest fra bunnen av siste kolonne.
Konverterer .49:
0,49 x 2 = 0,98 første bit er 0
0,98 x 2 = 1,96 sekunders bit er 1
0,96 x 2 = 1,92 tredje bit er 1
∴ .49 10 = 110 2 les fra toppen av siste kolonne.
Altså 49,49 10 = 110001,110 2
110001.110 2 = 1,10001110 x 2 +5 i standardform av base to
'1.' i 1.10001110 signifikanden er ikke angitt i resultatet, men det antas å være der.
For eksponenten, 127 10 representerer null. Dette betyr at indeksen (kraften) på 5 10 av 2 5 legges til 127 10 . Det er:
127 10 + 5 10 = 132 10
132 10 må konverteres til base to og deretter passes inn i feltet for eksponenten.
Altså 132 10 = 10000100 2
10000100 2 har 7 bits. Eksponenten er åtte biter. 10000100 2 har åtte biter og det er greit.
49,49 10 er positiv, så fortegnsbiten er 0. I 32-bits flyttallformat, 49,49 10 = 110001,110 2 er:
0 10000100 10001110000000000000000
- a) Hvordan er IEEE 64-bit flytende punktformat forskjellig fra 32-bits format?
b) Gi de to relaterte grunnene til at 64-bits formatet beskrives som dobbel eller høyere presisjon i forhold til 32-bit.
Løsning:
- – Det er 64 biter for å representere et tall, og ikke 32.
– Etter fortegnsbiten er det 11 biter for eksponentnummeret.
– Eksponenttallet for nullindeks (2 0 ) er 1023 10 = 01111111111 2 .
– De elleve bitene blir fulgt av 52 biter for den eksplisitte signifikanden.
– Den har et bredere spekter av tall enn 32-bits formatet. - Årsakene til at 64-bits formatet beskrives som dobbel eller høyere presisjon sammenlignet med 32-bits formatet er at intervallet mellom to påfølgende blandede brøker, avgrenset av to påfølgende heltall for 64-bits formatet, er mindre enn det tilsvarende 32-biters formatintervall. Det er også flere mulige blandede brøker mellom to avgrensede heltall for 64-bits formatet enn det er tilsvarende for 32-bits formatet.