Konvertieren von Int in Float oder Float in Int mit bitweisen Operationen (Software-Gleitkomma)

Ich habe mich gefragt, ob Sie helfen können, den Prozess beim Konvertieren einer Ganzzahl in Float oder eines Floats in eine Ganzzahl zu erklären. Für meine Klasse tun wir dies nur mit bitweisen Operatoren, aber ich denke, dass ein sicheres Verständnis des Castings von Typ zu Typ mir in dieser Phase mehr helfen wird.

Nach dem, was ich bisher weiß, müssen Sie für int to float die Ganzzahl in eine Binärzahl umwandeln, den Wert der Ganzzahl durch Ermitteln der Signifikanten, Exponenten und Brüche normalisieren und dann den Wert in float ausgeben.

Für float to int müssen Sie den Wert in Signifikanten, Exponenten und Brüche aufteilen und dann die obigen Anweisungen umkehren, um einen int-Wert zu erhalten.

Ich habe versucht, den Anweisungen dieser Frage zu folgen:Casting float auf int (bitweise) in C.
Aber ich konnte es nicht wirklich verstehen.

Könnte jemand erklären, warum beim Konvertieren von int in float eine Rundung für Werte erforderlich ist, die größer als 23 Bit sind?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage