Difference between revisions of "TU Wien:Technische Grundlagen der Informatik VU (Kastner)/WS12 - Übung 1 - Lösung"

From VoWi
Jump to navigation Jump to search
Line 662: Line 662:
 
|}
 
|}
  
Exponent: 2<sup>10</sup> = 1024 < 1025<br>
+
Exponent: 2<sup>10</sup> = 1024 < 1025<br> => 127 + 10 = 137 = 1001 0001<sub>2</sub>
 
1025.6875<sub>10</sub> = 1000 0000 0001.1011<sub>2</sub>
 
1025.6875<sub>10</sub> = 1000 0000 0001.1011<sub>2</sub>
 
Normalisiert: 1.0000 0000 0110 11<sub>2</sub> * (10<sup>1010</sup>)<sub>2</sub>
 
Normalisiert: 1.0000 0000 0110 11<sub>2</sub> * (10<sup>1010</sup>)<sub>2</sub>

Revision as of 11:09, 24 October 2012

Beispiel 1

Angabe

A=(117.6)10 B=(587.3525)10

A-a)

n = 6 (6 Nachkommastellen)
Vorkomma:

Zahl Operation Rest
117 mod 2 1
58 mod 2 0
29 mod 2 1
14 mod 2 0
7 mod 2 1
3 mod 2 1
1 mod 2 1

(117)10 = (111 0101)2

Nachkomma: (Es werden wenigstens 7 Stellen benötigt, um auf 6 Stellen runden zu können!)

Zahl Operation Rest
0.6 \lfloor 0.6 * 2\rfloor 1
0.2 \lfloor 0.2 * 2\rfloor 0
0.4 \lfloor 0.4 * 2\rfloor 0
0.8 \lfloor 0.8 * 2\rfloor 1
0.6 \lfloor 0.6 * 2\rfloor 1
0.2 \lfloor 0.2 * 2\rfloor 0
0.4 \lfloor 0.4 * 2\rfloor 0

Wichtig sollte hierbei sein, die Periode zu erkennen.
(0.6)10 = (0.1001100)2
(117.6)10 = (111 0101.1001 10)2

A-b)

n = 2 (2 Nachkommastellen)
Vorkomma:

Zahl Operation Rest
117 mod 16 5
7 mod 16 7

(117)10 = (75)16

Nachkomma: (Es werden wenigstens 3 Stellen benötigt, um auf 2 Stellen runden zu können!)

Zahl Operation Rest
0.6 \lfloor 0.6 * 16\rfloor 9
0.6 \lfloor 0.6 * 16\rfloor 9
0.6 \lfloor 0.6 * 16\rfloor 9

Wichtig sollte hierbei sein, die Periode zu erkennen.
(0.6)10 = (0.999)16

(117.6)10 = (75.9A)16 (Anm: Es wird hier auf A gerundet, nicht auf 76, da im Hexdezimalsystem nicht 10 nach 9 kommt, sondern A.)

A-c)

n = 4 (4 Nachkommastellen)
Vorkomma:

Zahl Operation Rest
117 mod 6 3
19 mod 6 1
3 mod 6 3

(117)10 = (313)6

Nachkomma: (Es werden wenigstens 5 Stellen benötigt, um auf 4 Stellen runden zu können!)

Zahl Operation Rest
0.6 \lfloor 0.6 * 6\rfloor 3
0.6 \lfloor 0.6 * 6\rfloor 3
0.6 \lfloor 0.6 * 6\rfloor 3
0.6 \lfloor 0.6 * 2\rfloor 3
0.6 \lfloor 0.6 * 2\rfloor 3
... ... ...

Wichtig sollte hierbei sein, die Periode zu erkennen.
(0.6)10 = (0.3333)6
(117.6)10 = (313.3334)6 (Anm: Es wird hier aufgerundet, da 3 im sedeniären System schon die Hälfte ist. (10/2 = 5, 6 / 2 = 3))

B-a)

n = 6 (6 Nachkommastellen)
Vorkomma:

587 mod 2 1
293 mod 2 1
146 mod 2 0
73 mod 2 1
36 mod 2 0
18 mod 2 0
9 mod 2 1
4 mod 2 0
2 mod 2 0
1 mod 2 1

(587)10 = (10 0100 1011)2

Nachkomma: (Es werden wenigstens 7 Stellen benötigt, um auf 6 Stellen runden zu können!)

Zahl Operation Rest
0.3525 \lfloor  0.3525 * 2  \rfloor 0
0.705 \lfloor  0.705 * 2  \rfloor 1
0.41 \lfloor  0.41 * 2  \rfloor 0
0.82 \lfloor  0.82 * 2  \rfloor 1
0.64 \lfloor  0.64 * 2  \rfloor 1
0.28 \lfloor  0.28 * 2  \rfloor 0
0.56 \lfloor  0.56 * 2  \rfloor 1

(0.3525)10 = (0.010111)2
(587.3525)10 = (10 0100 1011.010111)2

B-b)

(587.3525)10 = (?)16

587 mod 16 B
36 mod 16 4
2 mod 16 2

(587)10 = (24B)16

Zahl Operation Rest
0.3525 \lfloor  0.3525 * 16  \rfloor 5
0.64 \lfloor  0.64 * 16  \rfloor A
0.24 \lfloor  0.24 * 16  \rfloor 3

(0.3525)10 = (0.5A3)16
Gerundet wird nach unten, weil 3 < 16 / 2 ist. Also (5A3)16=(0.5A>16
(587.3525)10 = (24B.5A)16

B-c)

(587.3525)10 = (?)6

587 mod 6 5
97 mod 6 1
16 mod 6 4
2 mod 6 2

(587)10 = (2415)6

Zahl Operation Rest
0.3525 \lfloor  0.3525 * 6  \rfloor 2
0.115 \lfloor  0.115 * 6  \rfloor 0
0.69 \lfloor  0.69 * 6  \rfloor 4
0.14 \lfloor  0.14 * 6  \rfloor 0
0.84 \lfloor  0.84 * 6  \rfloor 5

(0.3525)10 = (0.20405)6
(587.3525)10 = (2415.2041)6

Beispiel 2

a

Schwerer weg

(8B5C3F.72DC)16 = (?)2
Vorkomma:

Operand Operation Ergebnis Rest
9133119 mod 2 4566559 1
4566559 mod 2 2283279 1
2283279 mod 2 1141639 1
1141639 mod 2 570819 1
570819 mod 2 285409 1
285409 mod 2 142704 1
142704 mod 2 71352 0
71352 mod 2 35676 0
35676 mod 2 17838 0
17838 mod 2 8919 0
8919 mod 2 4459 1
4459 mod 2 2229 1
2229 mod 2 1114 1
1114 mod 2 557 0
557 mod 2 278 1
278 mod 2 139 0
139 mod 2 69 1
69 mod 2 34 1
34 mod 2 17 0
17 mod 2 8 1
8 mod 2 4 0
4 mod 2 2 0
2 mod 2 1 0
1 mod 2 0 1

(8B5C3F)16=(100010110101110000111111)2
Nachkomma:

Ich erspar mir hier mal diese elend lange Rechnung.

(8B5C3F.72DC)16=(1000 1011 0101 1100 0011 1111.0111 0010 1101 11)2

Cheesy Weg

Eine hexadezimal Stelle enstpricht immer genau 4 Bits.

8 B 5 C 3 F . 7 2 D C
1000 1011 0101 1100 0011 1111 . 0111 0010 1101 1100

(8B5C3F.72DC)16=(1000 1011 0101 1100 0011 1111.0111 0010 1101 11)2

b

(1010 1100 0011 1011.0011 0010 11)2 = (?)8 Es gibt hier wieder zwei Wege. Den Mathematischen, und den einfachen.

Einfach

Jeweils 3 Binärstellen sind eine Oktalstelle. (1112=78)

1 010 110 000 111 011 . 001 100 101 100
1 2 6 0 7 3 . 1 4 5 6

Mathematisch

(1010 1100 0011 1011.0011 0010 11)2 = (20 +21 +23 +24 +25 +212 +213 +215 +217 +2-3 +2-4 +2-7 +2-11 +2-12 +2-13 ) = (18+28+108+208+408+20008+40008+200008+1000008)+(0.18+0.048+0.0048+0.0018+0.00048+0.00028) =
(126073.1456)8

c

Einfach

Zwei stellen im Quatärnierensystem entsprich einer Stelle im Hexadezimalsystem.

03 12 01 . 31 02 20
3 6 1 . D 2 8

Beispiel 3

Grundlagen

Additionsregeln:

Operand 1 Operand2 Ergebnis Carry
1 1 0 1
0 1 1 0
1 0 0 1
0 0 0 0

Addition mit Carry: (Alle anderen Fälle folgen der obigen Tabelle.)

Operand 1 Operand2 Carry von letzter Addition Ergebnis Carry
1 1 1 1 1
1 0 1 0 1
0 1 1 0 1
0 0 1 1 0

a

1 1 1 1 1 1 Carry
1 0 1 1 0 0 1 0 . 1 0 1 Operand 1
1 1 0 0 0 1 1 . 1 Operand 2
1 0 0 0 1 0 1 1 0 . 0 0 1 Ergebnis

b

1 1 1 1 1 Borrow
1 0 1 1 0 0 1 0 . 1 0 1 Operand 1
1 0 1 1 0 0 1 0 . 1 0 1 Operand 2
0 1 0 0 1 1 1 1 . 0 0 1 Ergebnis

c

1100011.1 : 101 = 10011.111001

d

10110010.101 * 1000
10110010101
000000000000
0000000000000
00000000000000
10110010101.000

(Die Operation entspricht einem arithmetischem Links-Shift um 3 Stellen)

Beispiel 4

A

Operand Operation Ergebnis
5C8 mod 2 0
2E4 mod 2 0
1F2 mod 2 0
B9 mod 2 1
5C mod 2 0
2E mod 2 0
17 mod 2 1
B mod 2 1
5 mod 2 1
2 mod 2 0
1 mod2 1

a

0101 1100 10002 / 5C816

b

0101 1100 10002 / 5C816

c

1101 1100 01112 / DC716

B

Operand Operation Ergebnis
348 mod 2 0
174 mod 2 0
87 mod 2 1
43 mod 2 1
21 mod 2 1
10 mod 2 0
5 mod 2 1
2 mod 2 0
1 mod 2 1

a

1001 0101 11002 / 95C16

b

1110 1010 01002 / EA416

c

0110 1010 00112 / 6A316

C

010 = 02

a

Es gibt 2 Darstellungen für 0 in der Vorzeichen-Betrag Darstellung. 0000 0000 00002 / 00016 ( = +0) 1000 0000 00002 / 80016 ( = -0)

b

0000 0000 00002 / 016

c

0111 1111 11112 / 7FF16

Beispiel 5

Z1=0010012, Z2=1011012

a

001001
101101
110110

Invertieren im 2er-Komplement: -(110110) + 1 = 1001 + 1 = 1010

b

001001
101101
100100

Invertieren im Vorzeichen-Betrag System (Erstes Bit Flippen): -(100100) = 100

c

001001
101101
110110
-100111
001111

Invertieren im Exzess-System:

100111
-001111
011000
+100111
111111

Beispiel 6

Interpretation Berechnung Dezimal Wert
Vorzeichen und Betrag -(2+4+16) -22
Zweierkomplement -128 + 2 + 4 + 16 -106
Exzessdarstellung 2 + 4 + 16 + 128 23
Festpunktdarstellung -(2 + 0.5 + 0.25) -2.75

Beispiel 7

a

0.710=?2

Operand Operation Ergebnis
0.7 \lfloor  0.7 * 2  \rfloor 1
0.4 \lfloor  0.4 * 2  \rfloor 0
0.8 \lfloor  0.8 * 2  \rfloor 1

Alle folgenden Nachkommastellen werden abgetrennt. 0.710=0.1012(Auf 3 Nachkommastellen)=0.62510

Relativer Rundungsfehler

Formel: \frac{rd(x) - x}{x} = \frac{0.625 - 0.7}{0.7} = \frac{-0.075}{0.7} = -0.10714

b

Untergrenze: 0.1010002 = 0.1012
Obergrenze: 0.1011112 = 0.625 + \sum_{k=4} 2^{-n} = 0.625 + 0.125 = 0.75 Interval: [0.625, 0.75[ => 0.1012

Beispiel 8

A

Sign-Bit: 1

Operand Operation Ergebnis
1025 mod 2 1
512 mod 2 0
256 mod 2 0
128 mod 2 0
64 mod 2 0
32 mod 2 0
16 mod 2 0
8 mod 2 0
4 mod 2 0
2 mod 2 0
1 mod 2 1
Operation Ergebnis
\lfloor 0.6875 * 2  \rfloor 1
\lfloor  0.375 * 2  \rfloor 0
\lfloor  0.75 * 2  \rfloor 1
\lfloor  0.5 * 2  \rfloor 1

Exponent: 210 = 1024 < 1025
=> 127 + 10 = 137 = 1001 00012 1025.687510 = 1000 0000 0001.10112 Normalisiert: 1.0000 0000 0110 112 * (101010)2

Sign Bit Exponent Mantisse
1 1000 1001 0000 0000 0110 1100 0000 000

B

Sign-Bit: 1

Operand Operation Ergebnis
1025 mod 2 1
512 mod 2 0
256 mod 2 0
128 mod 2 0
64 mod 2 0
32 mod 2 0
16 mod 2 0
8 mod 2 0
4 mod 2 0
2 mod 2 0
1 mod 2 1
Operation Ergebnis
\lfloor 0.6875 * 2  \rfloor 1
\lfloor  0.375 * 2  \rfloor 0
\lfloor  0.75 * 2  \rfloor 1
\lfloor  0.5 * 2  \rfloor 1

Exponent: 210 = 1024 < 1025
1025.687510 = 1000 0000 0001.10112 Normalisiert: 1.0000 0000 0110 112 * (101010)2

Sign Bit Exponent Mantisse
1 1000 1001 0000 0000 0110 1100 0000 000

Beispiel 9

Beispiel 10