1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Berechnung Gleitkomma in Dezimal

Dieses Thema im Forum "Café" wurde erstellt von Macloc, 25.03.09.

  1. Macloc

    Macloc Elstar

    Dabei seit:
    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
     
  2. Hotdogge

    Hotdogge Fießers Erstling

    Dabei seit:
    20.08.04
    Beiträge:
    129
  3. Macloc

    Macloc Elstar

    Dabei seit:
    15.03.07
    Beiträge:
    73
    Abend, den hatte ich auch schon entdeckt. Aber leider muss man dort alle 32 Bits angeben, ich hab aber nur 11 :(.

    Grüße, Macloc
     
  4. Nilquader

    Nilquader Braeburn

    Dabei seit:
    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.
     
    Macloc gefällt das.
  5. Macloc

    Macloc Elstar

    Dabei seit:
    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
     

Diese Seite empfehlen