Wie berechnet man eine Gleitkommazahl mithilfe dieser Formeln?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Naja, also im GRUNDE steht es ja da. Auch wenn es natürlich nicht super trivial ist.

Nehmen wirs mal auseinander.

Wenn die Zahl negativ ist, wird das erste Bit auf 1 gesetzt. Soweit so gut.

Dann gilt es, die Zahl erstmal in Binärdarstellung aufzuschreiben, daran wird wohl kein Weg vorbei führen. Eine Zahl x ohne Verschiebung ist diese Zahl mal 1 (2 hoch 0). Wenn wir jetzt nach rechts verschieben (also das Komma nach Links verschieben, oder vor die Zahl setzen, wenn keines da ist), wird der Exponent um 1 vergrößert, Linksverschiebung (Zahl "größer" machen) heißt auch, dass wir den Exponenten verringern müssen.

Zur Veranschaulichung in der Zehnerbasis:

400 = 400 * (10^0) = 40 * (10^1) = 4 * (10^2) = 0,4 * (10^3) = 4000 * (10^-1) usw.

Das gleiche gilt auch in der Zweierbasis.

Wir müssen jetzt unsere (in Binär dargestellte) Zahl soweit verschieben, dass das Komma direkt hinter der ersten Zahl ist. Der Exponent (nennen wir ihn e) erhöht oder verniedrigt sich dementsprechend. Wenn geschehen, nehmen wir dieses e und addieren diesen auf einen sog. Bias (warum, soll jetzt erstmal egal sein). Bei dir ist dieser 127.

Das heißt, wenn dein Exponent durch Verschiebung zu -4 wird, müsste der dann errechnete Wert 123 lauten. Diese Zahl schreibst du in die nächsten 8 Bit. Cool, dann haben wir schonmal das erste Bit mit dem Vorzeichen, die nächsten 8 Bit für diesen noch einfach zu errechnenden Wert. Jetzt geht es um die letzten 23 Bit, die noch zu füllen sind, die sogenannte Mantisse.

Naja, nichts einfacher als das, wir nehmen unsere ganze Binärzahl mit führender 1 und Komma, lassen diese 1 weg, und schreiben so viele restliche Binärwertr in die 23 Bit, die passen. Also maximal 23.

Done.

Woher ich das weiß:Studium / Ausbildung
Totengraeber87 
Fragesteller
 26.10.2023, 22:14

Vielen Dank !!!!!!

0