Övningar i intern datarepresentation

  1. Ett binärt heltal har bitmönstret 1011000110010. Skriv talet oktalt, hexadecimalt och decimalt.

  2. Omvandla följande hexadecimala tal till binär, oktal och decimal form:
    1. 1ABC
    2. 0.2
    3. 9C.A

  3. Skriv följande decimaltal på binär och hexadecimal form:
    1. 76
    2. 56.75
    3. 97.625.

  4. Beräkna följande summor (talen är hexadecimala). Svara hexadecimalt.
    1. ABBE + ADA
    2. E5.5 + B.75

  5. En minnesadress har segmentadressen A030 och offsetadressen 1234 (båda adresserna är hexadecimala). Skriv adressen i normaliserad form.

  6. Bestäm 2-komplementet till heltalet EBBE (hex) under förutsättningen att 2 bytes utnyttjas för att representera heltal. Svara hexadecimalt. Ange också om det resulterande talet är positivt eller negativt.

  7. a. Omvandla decimaltalet 164 till binär och hexadecimal form.

    b. Bestäm hur det decimala talet -164 lagras internt i en IBM-kompatibel persondator om 2 bytes och 2-komplementmetoden används. Svara i hexadecimal form.

  8. Ett heltal av typen int (C under DOS) lagras internt som 82 8E (hexadecimalt). Vilket heltal är detta? Svara decimalt.

  9. En Basic-tolk använder 16 bitar och 2-komplementmetoden för att representera heltal. Bestäm hur talet -255 (samtliga bitar) lagras datorn (DOS-dator). Ge svaret i hexadecimal form.

  10. Är det binära talet 0111 1000 1001 1010 ett giltigt (teckenlöst) BCD-heltal? Motivera svaret.

  11. Ange mantissa och exponent när det binära talet 0.000111 skrivs i normaliserad binär form (svara binärt).

  12. a. Skriv det decimala talet 97.625 på binär och hexadecimal form.

    b. Bestäm hur -97.625 lagras som IEEE-flyttal i dubbel precision (grundformatet) med en IBM-kompatibel persondator. Svara hexadecimalt.

  13. Vid en "hexdump" (en IBM-kompatibel PC) av ett IEEE-flyttal i dubbel precision (grundformatet) erhölls 00 00 00 00 00 48 5F 40 (hexadecimalt). Vilket tal är detta decimalt?

  14. Ange hur strängen "1.25" (citationstecknen ingår ej i strängen) lagras i
    1. Borland Pascal
    2. C, DOS etc.

    Svara hexadecimalt.

  15. Bestäm hur talet 2000 representeras som ett 32 bitars heltal och som ett IEEE-flyttal i dubbel precision (PC-dator). Svara hexadecimalt.

  16. Svårare uppgift: Bestäm hur talet 6.28 representeras som ett IEEE-flyttal i dubbel precision (svara i hex).

Svar

1. Oktalt: 13062 Hexadecimalt: 1632 Decimalt: 5682

2.

Binärt Oktalt Decimalt
a 1 1010 1011 1100 15274 6844
b 0.001 0.1 0.125
c 1001 1110.101 234.5 156.625

3.

Binärt Hexadecimalt
a 1001100 4C
b 111000.11 38.C
c 1100001.101 61.A

 4. a. B698  b. F0.C5

5. A153:0004

6. 1442 (positivt)

7. a. 10100100 resp A4   b. 5C FF

8. -29054

9. 01 FF

10. Nej, ty sista nibblen har värdet 8+2 = 10, vilket inte kan utgöra en siffra i tiosystemet.

11. Mantissan = 0.111, exponenten = -11 (båda värdena binära)

12. a. 1100001.101 resp 61.A     b. 00 00 00 00 00 68 58 C0

13. 125.125

14. a. Borland: 04 31 2E 32 35    b. C, DOS etc: 31 2E 32 35 00

15. Heltal: D0 07 00 00   Flyttal: 00 00 00 00 00 40 9F 40

16. 1F 85 EB 51 B8 1E 19 40


Copyright © 2000 Martin Fahlgren

martin@1-1-7-46a.ghn.gbg.bostream.se

[Till början av dokumentet] [Till artikelförteckningen]