Dezimalzahl in IEEE 754

sh33p

Bekanntes Mitglied
33*10^(22) soll in IEEE 754 umgerechnet werden.

exponent und vorzeichhen habe ich bereits berechnet.

vz = 0
exponent = 011001101

nun muss ich die mantisse berechnen. zu vor habe ich durch den log2 usw. das ergebniss 1,0918*2^(78)
berechnet.

die 1 wird ja nicht mitgespeichert,so das is 0,9018 die mantisse ist. wie rechne ich das nun um,so dass ich die letzten 23 bits der darstellung bekomme?
 
S

SlaterB

Gast
bei 1/2 = 0.5 ist das erste Bit gesetzt, sonst nicht, fürs zweite Bit der Anteil 0.25 usw.

zur Kontrolle
IEEE 754 Umrechner

vielleicht erstmal mit einfachen Zahlen wie 234 üben, bei 10^22 ist ja allein die Eingabe schwierig..
 
S

SlaterB

Gast
hmm, ich meine dass sowohl meine Erklärungen (Zahl 234 in Bits 101010) als auch der Link genau das beschreiben,
der Link kann beide Richtungen umrechnen,

inwiefern liege ich denn falsch?
 

Marco13

Top Contributor
Code:
double wert = 0.9...;
double teil = 0.5;
while (wert > 0)
{
    if (wert >= teil)
    {
        wert -= teil; 
        gibAus(1);
    }
    else gibAus(0);
    teil /= 2;
}

!?
 

sh33p

Bekanntes Mitglied
ok das is ja alles schön und gut mit dem Rechner..ich möchte aber wissen,wie ich die Binärdarstellung der Mantisse PER HAND ausrechne..die Dezimaldarstellung habe ich ja
 
S

SlaterB

Gast
genauso wie der Rechner? ;)
Papier und Bleistift helfen bei begrenzten Gehirn-Arbeitsspeicher,

was ist 'PER HAND ausrechen' eigentlich für eine Java-Frage?

bzw. du bezogst dich vielleicht auf meinen Link, die Berechnung hatte ich beschrieben und siehe Code von Marco13,
der Link nur zur Kontrolle..
 

Neue Themen


Oben