Gleitkommazahl |
Karlito
Kaiser
Dabei seit: 11.04.2011
Beiträge: 1.461
|
|
Hallo 123michi19,
ich würde mir eine Tabelle machen, in der ersichtlich wird, wie sich die Zahlenbereiche und der Abstand zwischen 2 aufeinanderfolgenden normalisierten Zahlen verhält. Und dann gilt es zu Argumentieren, was einem lieber ist: eine hohe genauigkeit oder ein großer Zahlenbereich.
Hier ein Anfang:
Ich würde wahrscheinlich etwas zwischen 6 und 8 Bit für den Exponenten nehmen. 7 Bit erscheint mir auf den ersten Blick recht sinnvoll. Aber wie gesagt, ich würde mir dann noch die Deltas zwischen den Zahlen und vlt sogar noch die Ungenauigkeit der denormalisierten Zahlen anschauen. Der Bias ist übrigens genauso berechnet wie im IEEE 754 Standard ( mit ist die Anzahl der Bits für den Exponenten).
Gruß,
Karlito
|
|
29.12.2014 11:57 |
|
|
123michi19
Mitglied
Dabei seit: 22.12.2014
Beiträge: 45
|
|
Danke für deine Antwort. Allerdings verstehe ich momentan nur Bahnhof. Für was sind denn die Gleitkommazahlen eigentlich gut? (Zur Darstellung reeller Zahlen im Binärcode?). Und was haben Mantisse und Bias für einen Sinn?
|
|
29.12.2014 13:31 |
|
|
|
Zitat: |
Für was sind denn die Gleitkommazahlen eigentlich gut? |
sie erlauben prazise Werte für kleine und große Zahlen. Ein long ist im Bereich +/- 9*10^18 (ungefähr). Wenn du nur mit Ganzzahlen rechnen willst, ist alles in Ordnung, aber was, wenn du mit Kommazahlen arbeiten willst? Dann könntest du alles durch 100 teilen und hast 2 Nachkommastellen. Ein anderes mal willst du mit großen Zahlen rechnen, die über long hinausgehen. Also musst du jetzt vielleicht mit 100 multiplizieren. Du verschiebst dabei also das Komma hin und her. Das heißt, du musst jedes mal überlegen, wo das Komma stehen muss. Nennt sich Festpunktzahl und hat beschriebenen Nachteil.
Die Gleitpunktzahlen nehmen dir diese Arbeit ab, das Komma kann dort in einem gewissen Bereich verschoben werden. Das geht auf kosten der Präzision, da einige Bits für die Position des Kommas draufgehen und nicht für die x. Nachkommastelle.
Es gibt eine Aufteilung in Vorzeichen (1Bit), Exponent und Mantisse.
Der Exponent gibt an, wo das Komma steht, die Mantisse ist die eigentliche Zahl (im Bereich [1;2[, wobei das erste Bit immer eine 1 ist und daher nicht geschrieben werden muss). Ohne bias wäre der Exponent dann im Bereich [0;255] (für 8 bit). Um auch kleine Zahlen erhalten zu können, wird der Exponent verschoben.
__________________ Syntax Highlighting fürs Board (Link)
|
|
29.12.2014 13:56 |
|
|
123michi19
Mitglied
Dabei seit: 22.12.2014
Beiträge: 45
|
|
Zitat: |
wobei das erste Bit immer eine 1 ist und daher nicht geschrieben werden |
Das wäre dann wahrscheinlich das sogenannte HiddenBit?
|
|
29.12.2014 17:11 |
|
|
123michi19
Mitglied
Dabei seit: 22.12.2014
Beiträge: 45
|
|
Super, vielen Dank. Das hilft mir schon sehr weiter.
|
|
29.12.2014 17:30 |
|
|
Erstsemestler unregistriert
|
|
Ich hätte zu diesem Thema eine kurze Frage. Woher weiß ich denn den Zahlenbereich, welcher im angehängen Bild (bei der Fragestellung) angegeben ist?
Sind das feste, vorgegebene Werte?
Besten Dank :-)
|
|
21.01.2015 12:33 |
|
|
Erstsemestler unregistriert
|
|
|
21.01.2015 12:39 |
|
|
|