• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Berechnung Gleitkomma in Dezimal

Macloc

Elstar
Registriert
15.03.07
Beiträge
73
Hallo,
ich habe ein Problem mit der Berechnung von Gleitkommazahlen in Dezimal.
Ich habe hier eine Gleitkommazahl 00101101101 welche in Dezimal berechnet werden soll.
Als Ergebnis soll ich 43,25 erhalten.

Ich schaff es einfach nicht die Gleitkommazahl umzurechnen.
Ich habe den Wikipedia Artikel Gleitkommazahl nach IEEE 754 hoch und runter gerechnet, komme aber nicht auf die Lösung. (http://de.wikipedia.org/wiki/Gleitkommazahl)
Was mich sehr verwirrt ist, dass alle Berechnungen 32 Bit (1 Vorzeichenbit, 8 Exponenten Bits, 23 Mantissen Bits haben). In meiner Aufgabe sind es insgesamt nur 11 Bit (1 Vorzeichen, 3 Exponenten, 7 Mantissen).

Wie muss ich solche Aufgaben Lösen? Ich habe noch 2 weitere Aufgaben welche ich gerne berechnen würde aber ich weis nicht wie?

Wäre super wenn ihr mir helfen könntet!

Grüße, Macloc
 

Nilquader

Braeburn
Registriert
14.03.09
Beiträge
44
Lass dich nicht von anderen Größen für Mantisse und Exponent verwirren. Die Umwandlung funktioniert im Allgemeinen immer gleich. Du musst nur wissen, welcher Teil deiner Zahl Mantisse, Exponent und Vorzeichen ist. Und ob du vielleicht so Späße wie ein Bias (Hast du wohl nicht) oder eine "hidden 1" (siehe unten) drin hast.

Die Reihenfolge von Mantisse und Exponent kommt mir etwas seltsam vor, aber ich denke, dass es so richtig ist:

Das erste Bit ist das Vorzeichen: 0 ist positiv, 1 negativ. Du hast 0, also positiv.

Dann kommen die 7 Bits für die Mantisse (0101101) Ihnen musst du eine 1, voranstellen. Da man das Komma immer so verschiebt, dass jede Zahl mit 1, beginnt (normalisieren) kann man nämlich beim Konverteren in eine Gleitkommazahl das "1," weglassen (das tut man, um Speicher zu sparen). Beim Konvertieren in Dezimal hängst du es wieder davor. Also hast du 1,0101101.

Jetzt schaust du dir die letzten 3 Bits an (101), das ist der Exponent und Dezimal wären es "5". Um 5 Stellen verschiebst du nun das Komma, also wird aus "1,0101101" auf einmal "101011,01". Diese Zahl rechnest du nun um in eine Dezimalzahl: Der ganzzahlige Teil (101011) ergibt 43, der Bruchteil (0.01) ist 0.25, macht zusammen 43,25.
 
  • Like
Reaktionen: Macloc

Macloc

Elstar
Registriert
15.03.07
Beiträge
73
Super! Vielen Dank! Ich hatte immer nach dem Vorzeichenbit die nächsten Bits als Exponente. Also 00101101101 VorzeichenExponentMantisse.
So
wie es in dem Wikiartikel beschrieben war...

Danke nochmal!


Grüße, Macloc