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

Aus VoWi
Zur Navigation springen Zur Suche springen


Beispiel 1[Bearbeiten | Quelltext bearbeiten]

Angabe[Bearbeiten | Quelltext bearbeiten]

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

A-a)[Bearbeiten | Quelltext bearbeiten]

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 1
0.2 0
0.4 0
0.8 1
0.6 1
0.2 0
0.4 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)[Bearbeiten | Quelltext bearbeiten]

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 9
0.6 9
0.6 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)[Bearbeiten | Quelltext bearbeiten]

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 3
0.6 3
0.6 3
0.6 3
0.6 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)[Bearbeiten | Quelltext bearbeiten]

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 0
0.705 1
0.41 0
0.82 1
0.64 1
0.28 0
0.56 1

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

B-b)[Bearbeiten | Quelltext bearbeiten]

(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 5
0.64 A
0.24 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)[Bearbeiten | Quelltext bearbeiten]

(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 2
0.115 0
0.69 4
0.14 0
0.84 5

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

Beispiel 2[Bearbeiten | Quelltext bearbeiten]

a[Bearbeiten | Quelltext bearbeiten]

Schwerer weg[Bearbeiten | Quelltext bearbeiten]

(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[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

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

Einfach[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

(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[Bearbeiten | Quelltext bearbeiten]

Einfach[Bearbeiten | Quelltext bearbeiten]

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

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

Beispiel 3[Bearbeiten | Quelltext bearbeiten]

Grundlagen[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

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

c[Bearbeiten | Quelltext bearbeiten]

1100011.1 : 101 = 10011.111001

d[Bearbeiten | Quelltext bearbeiten]

10110010.101 * 1000
10110010101
000000000000
0000000000000
00000000000000
10110010101.000

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

Beispiel 4[Bearbeiten | Quelltext bearbeiten]

A[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

0101 1100 10002 / 5C816

b[Bearbeiten | Quelltext bearbeiten]

0010 0011 10002 / 5C816

c[Bearbeiten | Quelltext bearbeiten]

1101 1100 01112 / DC716

B[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

1001 0101 11002 / 95C16

b[Bearbeiten | Quelltext bearbeiten]

1110 1010 01002 / EA416

c[Bearbeiten | Quelltext bearbeiten]

0110 1010 00112 / 6A316

C[Bearbeiten | Quelltext bearbeiten]

010 = 02

a[Bearbeiten | Quelltext bearbeiten]

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

b[Bearbeiten | Quelltext bearbeiten]

0000 0000 00002 / 016

c[Bearbeiten | Quelltext bearbeiten]

0111 1111 11112 / 7FF16

Beispiel 5[Bearbeiten | Quelltext bearbeiten]

Z1=0010012, Z2=1011012

a[Bearbeiten | Quelltext bearbeiten]

001001
101101
110110

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

b[Bearbeiten | Quelltext bearbeiten]

001001
101101
100100

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

c[Bearbeiten | Quelltext bearbeiten]

001001
101101
110110
-100111
001111

Invertieren im Exzess-System:

100111
-001111
011000
+100111
111111

Beispiel 6[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

a[Bearbeiten | Quelltext bearbeiten]

0.710=?2

Operand Operation Ergebnis
0.7 1
0.4 0
0.8 1

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

Relativer Rundungsfehler[Bearbeiten | Quelltext bearbeiten]

Formel:

b[Bearbeiten | Quelltext bearbeiten]

Untergrenze: 0.1010002 = 0.1012
Obergrenze: 0.1011112 = Interval: [0.625, 0.75[ => 0.1012

Beispiel 8[Bearbeiten | Quelltext bearbeiten]

A[Bearbeiten | Quelltext bearbeiten]

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

Exponent: 210 = 1024 < 1025 => 127 + 10 = 137 = 1000 10012
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[Bearbeiten | Quelltext bearbeiten]

Sign-Bit: 0

Operand Operation Ergebnis
515 mod 2 1
257 mod 2 1
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
1
0
0
1

Exponent: 29 = 512 < 515 => 127 + 9 = 136 = 1000 10002 515.562510 = 10 0000 0011.10012 Normalisiert: 1.0000 0001 1100 12 * (101001)2

Sign Bit Exponent Mantisse
0 1000 1000 0000 0001 1100 1000 0000 000

Beispiel 9[Bearbeiten | Quelltext bearbeiten]

a[Bearbeiten | Quelltext bearbeiten]

(1 101 1011)2 = ?10 (Normalisiert)
Sign-Bit: 1 => Zahl ist negativ
Exponent: 1012 = 510 - 310 = 210
n = -12 * (1.10112) * 1002 = -6.7510

b[Bearbeiten | Quelltext bearbeiten]

(0 000 0100)2 = ?10 (Denormalisiert)
Sign-Bit: 0 => Zahl ist positiv
Exponent: 310 n = 0.012 * (101-112) = 0.012 * 1 / 1002 = 0.00012 = 2-4 = 0.062510

c[Bearbeiten | Quelltext bearbeiten]

0 111 0000 = +∞10 (Per Definition)

d[Bearbeiten | Quelltext bearbeiten]

0 010 1010 = =10
Sign-Bit: 0
Exponent: .(011 - 010) = -1
n = 1.10102 * 102^-1 = 0.11012=0.510 + 0.2510 + 0.062510 = 0.812510

e[Bearbeiten | Quelltext bearbeiten]

1 000 0000 = ?10

Sign-Bit: 1
Exponent = Mantisse = 0
(1 000 0000)2 = -010 = +010

Beispiel 10[Bearbeiten | Quelltext bearbeiten]

A = 3.2583 * 10-15
B = 7.5025 * 10-19
C = 2.75 * 10-22

a[Bearbeiten | Quelltext bearbeiten]

A+B

Mantisse Exponent Guard Round Sticky
3.2583 10-15
0.0007 10-15 5 0 1
3.2490 10-15 5 0 1
Gerundet (Guard = 5, Sticky = 1 -> Aufrunden)
3.2591 10-15

Exponent neu berechnen: 49-15 = 34

IEEE 754 Darstellung
Signbit Exponent Mantisse
0 34 32591

b[Bearbeiten | Quelltext bearbeiten]

C = 2.75*10-22 = 0.0027*10-19 Guard: 5, Round: 0, Sticky: 0

B+C:

Mantisse Exponent Guard Round Sticky
7.5025 10-19
0.0027 10-19 5 0 0
7.5052 10-19 5 0 0
Gerundet:
7.5052 10-19

A-(B+C): 7.5052*10-19 = 0.0007 * 10-15 Guard: 5, Round: 0, Sickty: 1

Mantisse Exponent Guard Round Sticky
3.2583 10-15
0.0007 10-15 5 0 1
3.2575 10-15 5 0 1
Gerundet:
3.2575 10-15

IEEE 754 Darstellung:

Sign-Bit Exponent Mantisse
0 34 32575