Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Technische Informatik » Mantisse einer nicht Gleitkommazahl » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Mantisse einer nicht Gleitkommazahl
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
nature6
Jungspund


Dabei seit: 16.04.2020
Beiträge: 11

Mantisse einer nicht Gleitkommazahl Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich muss zwei dezimalzahlen miteinander verrechnen, die eine Zahl ist eine durchweg positive Zahl ohne nachkommastelle, die andere hingegen hat nachkommastellen.

Damit ich die zahlen miteinander verrechnen kann nach dem IEEE 754 standard, muss ich wissen was der Exponent und die Mantisse von der nicht gleitkommazahl ist? wie finde ich das bei einer zahl wie 83 raus verwirrt

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von nature6: 29.04.2020 14:20.

29.04.2020 14:19 nature6 ist offline Beiträge von nature6 suchen Nehmen Sie nature6 in Ihre Freundesliste auf
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

83 (dez) in binär: 101 0011
Komma so weit nach links verschieben, bis vor dem Komma die erste 1 stehen bleibt:
1,010011
Das waren 6 stellen nach links.
Hinter dem Komme ist jetzt die Mantisse: 010011 (die 1 vorm Komma lässt man weg, da muss ja immer eine 1 stehen, wenn man das Komma immer so weit verschiebt, außer die Zahl ist genau 0)
zu der 6 zählt man noch den Exponent Offset dazu, das kommt jetzt drauf an, wieviele Bit der Exponent hat. Angenommen es wären 8 Bit, dann kann man damit ja Zahlen zwischen 0 und 255 darstellen. Um auch negative Zahlen darstellen zu können, verwendet man hier nicht das 2-er-Complement, sondern man zieht addiert zu der Zahl einfach 127 (also 2^7-1) dazu. Wenn man nur 6 Bit für den Exponent hätte, dann würde man 2^5-1, also 31 addieren, also immer "ungefähr" die Hälfte (abgerundet) von der maximal darstellbaren Zahl.
Also hat man 127 + 6 = 133. 133 in Binärdarstellung sind dann 1000 0101
Dann ist die Zahl positiv, also ist das erste Bit 0. Kommt dann so raus:
0 | 10000101 | 01001100000000000000000

Vorzeichen, Exponente und Mantisse. für ein 32-bit IEEE 754 float (also ein single)

Gruß
Marco
29.04.2020 17:35 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
nature6
Jungspund


Dabei seit: 16.04.2020
Beiträge: 11

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hey! danke für die rasche antwort. Wink damit konnte ich weiter kommen. jetzt stehe ich aber vor einem neuen problem. hoffentlich kennst du zu meiner frage auch die antwort.

ich muss die 0,5 in floating point überführen. dabei stelle ich fest das der ja beim umrechnen nur eine 1 hat, also 0 für das positive vorzeichen und die 1. Also 0.1 ist laut der normalisierung jetzt die 2^{1} oder 2^{0}? Da ich ja im Prinzip die kommastelle gar nicht verschoben habe? Ich gehe mal davon aus das es 2^{0} ist. Jetzt zu meinem Problem, wird jetzt der Bias (127) mit 0 addiert oder mit 0 subtrahiert? verwirrt
29.04.2020 21:33 nature6 ist offline Beiträge von nature6 suchen Nehmen Sie nature6 in Ihre Freundesliste auf
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Du musst doch aber das Komma eine Stelle verschieben (diesmal nach rechts), also Exponent ist -1, also als 127-1 = 126 dargestellt, also 0111 1110.
Nochmal kurz: 0,5 dezimal -> 0,1 Dualsystem -> 1*2^(-1)

Gruß
Marco

PS: Die Mantisse ist hier komplett 0, weil die einzige 1 vor dem Komma ja weg gelassen wird.

PPS: Wenn Du Dir unsicher bist: Such mal im Netz nach IEEE 754, da gibt es genug Webseiten, die eine Umwandlung von Dizimal in Gleitkomma machen und manchmal auch noch etwas erklären, wie man drauf kommt und so.
30.04.2020 15:24 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Technische Informatik » Mantisse einer nicht Gleitkommazahl