Theoretische und technische Informatik - ganz praktisch
Herzlich willkommen auf der Question/Answer-Plattform zu Grundlagen der Informatik II. Wir wünschen Ihnen viel Spaß beim Lernen und Diskutieren!
Loggen Sie sich mit Ihrem KIT-Account (u...) ein, um loszulegen!
Beachten Sie auch diese Informationen zum Schnelleinstieg.
(Nicht-KIT-Studierende beachten bitte diese Informationen.)

A 5 d) Ergebnis ?

0 Punkte
46 Aufrufe

Hallo zusammen 

Ich verstehe nicht wie man von dem Bitstring auf das Ergebnis kommt.

Wie kommt man auf  1.883 · 1025 

 

und generell verstehe ich nicht wie man in dem Fall jetzt auf m´ kommt.

 

Ich würde mich freuen wenn mir jemand helfe würde

Vielen Dank im Vorais

Gefragt 3 Feb in AU-5-3 von uvlpj uvlpj Lernwillige(r) (510 Punkte)  

2 Antworten

0 Punkte
Hallo,

in der Gleitpunkdarstellung wird ja eine Zahl immer dargestellt als:
x = (-1)^v * (1 + m') * 2^{c-q}.
Bei dem Bitstring sind jetzt bestimmte Bits für bestimmte Variablen vorgesehen:

1) Das erste Bit gibt immer v an, entscheidet also darüber, ob die Zahl positiv oder negativ ist:
(-1)^1 = -1 ist negativ, (-1)^0 = 1 ist positiv.

2) Bei einfacher Genauigkeit (d.h. 32 Bits, wie hier) sind 8 Bits für die Charakteristik c vorgesehen. Die Bits an den Stellen 2 bis 9 sind also ganz einfach als Binärzahl abzulesen. Wir erhalten hier:
00101100 => 2^5 + 2^3 + 2^2 = 32 + 8 + 4 = 44. => c = 44

3) Die restlichen Bits (also alle rechts von der Charakteristik c) sind für die Mantisse m' vorgesehen. Diese lesen wir wie folgt ab (von links nach rechts):
11010010001010100101000 => 2^{-1} + 2^{-2} + 2^{-4} + 2^{-7} + 2^{-11} + 2^{-13} + 2^{-15} + 2^{-18} + 2^{-20}
Ich würde empfehlen, die Mantisse im Taschenrechner auszurechnen und zu speichern.

Nachdem man v, c und m' berechnet hat, kann man auch schon die Zahl ausrechnen, indem man die Variablen einfach in die Definition von x einsetzt. Bei einfacher Genauigkeit ist immer q = 127, sodass wir für c-q = 44 - 127 = -83 erhalten.

Das heißt, nachdem wir in Schritt 3) die Mantisse berechnet haben, müssen wir auf diese nur 1 addieren (um die Klammer zu vervolständigen), dann noch mit 2^{44-127} multiplizieren und ggf. mit -1 multiplizieren, wenn v=1 ist. Das Ergebnis für x kann man dann am Taschenrechner ablesen.

Ich hoffe, das hat beim Verständnis von Gleitpunktzahlen geholfen. Andernfalls würde ich dir dringend empfehlen, kommende Woche noch mal ins Fragetutorium zu gehen, um dir das Prinzip von deinem Tutor noch mal erklären zu lassen.

Viele Grüße,
Nayeli (Tutorin)
Beantwortet 3 Feb von uudlf uudlf Lernwillige(r) (380 Punkte)  
0 Punkte
Hi uvlpj,

Gegeben ist dir der Bitstring b = 1 00101100 11010010001010100101000

Hieraus versucht du nun eine Dezimalzahl der Form $ x = (-1)^v * 2^{c-q} * (1+m´)$ zu bilden.

Das erste Bit von b ist mit einer 1 belegt. Daraus folgt für dein Vorzeichen der späteren Dezimalzahl:

$ (-1)^1 = -1$ , die Dezimalzahl ist also negativ.

Die nächsten 8 bits von b bilden die Charakteristik:

$ 00101100_2 = 44_{10}$, d.h. dass deine größte Potenz der Dezimalzahl die Form $ 2^{44-127}$ haben muss.

Die übrigen Bits von b sind Teil der Mantisse. Jede Stelle, die mit einer 1 belegt ist entspricht einer negativen Zweierpotenz in Dezimalformat. So ist z.B. die erste Stelle der Mantisse mit einer 1 belegt. Das bedeutet für $ (1+m´)$, dass auf jeden Fall $ (1+(2^{-1} + ...))$ vorhanden sein muss. Diesen Schritt wiederholst du für alle mit 1 belegten Stellen der Mantisse und erhälst wie in der Lösung:

$ (1 + (2^{-1} + 2^{-2} + ...)$

Deine Ergebnisse dieser drei Schritte multiplizierst du nun auf und gerundet erhälst du so das Ergebnis $ -1.883*10^{-25}$

 

Viele Grüße

 

Moritz (Tutor)
Beantwortet 3 Feb von uvoaq uvoaq Lernwillige(r) (260 Punkte)  
...