Mantisse IEEE 754

Hallo zusammen

Ich habe ein kleines Problem. Ich soll ein Programm schreiben, das die Mantisse ausrechnet.. aber: Nach 1 Stunde googlen habe ich nichts wirklich brauchbares gefunden zu folgenden 2 Fragen:

1) Was ist eine Mantisse?
2) Wie kann ich eine Mantisse berechnen?

Kann mir da jemand weiterhelfen???

--Keymaker
 
Hi.

Ich habe vor langer Zeit mal sowas ähnliches in Delphi programmiert. Vielleicht interessiert Dich der Code, dann schick mir mal ne PN. Ist aber verdammt lange her.

Der Hesse
 
ok, danke für eure Hilfe.
Habe ich das richtig verstanden:

eine Zahl ist immer so aufgebaut: a=s*m*b^e (s=vorzeichen;m=mantisse;b=basis;e=exponent)
z.b. 0.1 im binärzahlensystem sieht dann so aus:

1 : 10 = 0.0001100110011...
=> m=1.100110011... wobei b=2 und e=-4 und s=0
=> a=1.100110011 * 2 ^ 4
und das sähe dann so aus in einer float Variable:
0,100110011...,00000100
s,mmmmmmm...,eeeeeeee

ist das richtig??

--keymaker
 
Hi,

ich hab das seit ein weilchen nimmer gebraucht aber ich glaub du liegst da falsch.

Eine Float IEEE 754 schaut so aus:

veeeeeeeemmmmmmmmmmmmmmmmmmmmmmm

v ... ein Vorzeichen bit
e ... 8 bit Exponent
m ... 23 bit mantisse

die Basis ( ich weiss nicht genau ob man das so nennen kann ) ist automatisch 2. Kommt aus dem Binärzahlensystem.

[edit]

Hab ein Beispiel jetzt durchgerechnet
Dezimalzahl = 54.625
zu Binärdarstellung umgerechnet ergibt das
binär = 110110.101

Jetzt zählen wir einfach die Stellen die wir verschieben müssen um vor dem komma nur mehr eine 1 stehen zu haben
Ergebnis der verschiebung = 1.10110101
Verschoben haben wir dabei alles um 5 Stellen => Exponent = 5
wir addieren zum Exponenten 127 ( Bias ) und erhalten Exponent = 132 in binär = 10000100

daraus ergibt sich

Vrozeichen = 0
Exponent = 10000100
Mantisse = 10110101000000000000000

Bei der Mantisse muss man die führende 1 weglassen
alles zusammen ergibt dann unsere Float IEEE 754 Zahl:
0 10000100 10110101000000000000000

Sollten noch fragen sein einfach melden

[/edit]

mfg ecologys
 
ah ok!!
Vielen Dank :) somit wäre mein Problem gelöst :D!
Unser prof hat da was verwechselt: er hat eben gesagt, es sei smmmmmmmmmmm..eeee... und das war dann doch ziemlich komisch... ;)

--Keymaker
 
Zurück
Oben