Övningar i intern datarepresentation
- Ett binärt heltal har bitmönstret 1011000110010. Skriv talet oktalt,
hexadecimalt och decimalt.
- Omvandla följande hexadecimala tal till binär, oktal och decimal form:
- 1ABC
- 0.2
- 9C.A
- Skriv följande decimaltal på binär och hexadecimal form:
- 76
- 56.75
- 97.625.
- Beräkna följande summor (talen är hexadecimala). Svara hexadecimalt.
- ABBE + ADA
- E5.5 + B.75
- En minnesadress har segmentadressen A030 och offsetadressen 1234 (båda adresserna
är hexadecimala). Skriv adressen i normaliserad form.
- 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.
- 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.
- Ett heltal av typen int
(C under DOS) lagras internt som 82 8E (hexadecimalt). Vilket heltal är detta?
Svara decimalt.
- 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.
- Är det binära talet 0111 1000 1001 1010 ett giltigt (teckenlöst) BCD-heltal?
Motivera svaret.
- Ange mantissa och exponent när det binära talet 0.000111 skrivs i normaliserad
binär form (svara binärt).
- 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.
- 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?
- Ange hur strängen "1.25" (citationstecknen ingår ej i strängen) lagras i
- Borland Pascal
- C, DOS etc.
Svara hexadecimalt.
- Bestäm hur talet 2000 representeras som ett 32 bitars heltal och som
ett IEEE-flyttal i dubbel precision (PC-dator). Svara hexadecimalt.
- 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