Die einfachste Methode zum manuellen Konvertieren eines dezimalen Gleitkommas in eine Bitdarstellung basierend auf IEEE 754, ohne eine Bibliothek zu verwenden

Ich weiß, dass es zahlreiche Möglichkeiten gibt, jedes Bit eines IEEE 754-Floats mit geschriebenen Bibliotheken zu lesen.

Das will ich nicht und das will ich könnenmanuell Konvertieren eines dezimalen Gleitkommas in eine Binärdarstellung basierend auf IEEE 754.

Ich verstehe, wie IEEE 754 funktioniert, und versuche nur, es anzuwenden.

Ich stelle diese Frage hier nur, um zu sehen, ob mein Weg normal oder dumm ist und ich frage mich auch, wie PC es schnell macht.

Wenn ich einen dezimalen Gleitkomma erhaltein einer ZeichenfolgeIch muss herausfinden, was das istE ist und was dieM ist.

Holen Sie sich die beiden Teile aus: Integer-Teili und Bruchteilf.

Zurecht kommenf. Ich ständigmultiple 2 Holen Sie sich den ganzzahligen Teil (entweder 0 oder 1), entfernen Sie den ganzzahligen Teil und wiederholen Sie den Vorgang, bis er zu 0 wird

Konvertiereni zu Bits. Das ist einfach ich gerade ständigmod 2 unddiv 2 um alles zu bekommeni.

zum Beispiel zu konvertierenf Teil

0,390625 * 2 = 0,781250
0,78125 * 2 = 1,56251
0,5625 × 2 = 1,1251
0,125 × 2 = 0,250
0,25 × 2 = 0,50
0,5 * 2 = 11
0





In diesem Fall werden die Temparay-Bits von0.390625 ist0 1 1 0 0 1.

Jetzt habe ich die Bits füri und fürf.

Wenn alle Bits füri ist 0, dann auf Bits vonf Ich habe es bis zum ersten verlegt1 ist nach dem wegdefault hidden 1 vonM. Ich bekommeMGeben Sie dann den Wert für die Verschiebung nach E unter Berücksichtigung von anE's Grundlinie natürlich.

Wenni ist nicht 0, dann verkette ich beide Bits und berechne, wie viele shift_right ich tun muss, um die verketteten Bits auf 1 zu setzen, und gebe dann diesen Wert anE

Ich denke alle meine Schritte sind nicht falsch. Aber ich fühle es sehr mühsam.

Gibt es einen einfachen und sauberen Weg?

Wie macht der PC das?