Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Technische Informatik (http://www.informatikerboard.de/board/board.php?boardid=7)
--- Gleitkommazahl (http://www.informatikerboard.de/board/thread.php?threadid=2033)


Geschrieben von 123michi19 am 29.12.2014 um 11:13:

  Gleitkommazahl

Meine Frage:
Hey Leute,

wie würdet ihr die folgende Frage am Besten beantworten?

Machen Sie einen Vorschlag für eine sinnvolle Aufteilung der Bits einer Gleitkommazahl, wenn insgesamt 24 Bit für das Speichern der Zahl zur Verfügung stehen! Wie muss der Bias gewählt werden? Welcher Zahlenbereich kann damit grob abgedeckt werden? Begründen Sie Ihre Entscheidungen!

Meine Ideen:
Ich habe im Netz schon einen Folie gefunden, welche den Bias und den Zahlenbereich angibt. Das wird allerdings nicht als Antwort reichen. Folie dazu findet ihr im Anhang.


Vielen Dank ;-)



Geschrieben von Karlito am 29.12.2014 um 11:57:

 

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:
[latex]<br />
\begin{tabular}{c|c|c|c}Bit Exponent & Bit Mantisse & Anzahl Mantisse & Bias <br />
\hline 2            & 21           & 2097152         & 1    <br />
3            & 20           & 1048576         & 3    <br />
4            & 19           & 524288          & 7    <br />
5            & 18           & 262144          & 15  <br />
6            & 17           & 131072          & 31  <br />
7            & 16           & 65536           & 63   <br />
8            & 15           & 32768           & 127  <br />
9            & 14           & 16384           & 255  <br />
10           & 13           & 8192            & 511<br />
\end{tabular}<br />
[/latex]

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 ([latex]2^{e-1}-1[/latex] mit [latex]e[/latex] ist die Anzahl der Bits für den Exponenten).

Gruß,

Karlito



Geschrieben von 123michi19 am 29.12.2014 um 13:31:

 

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?



Geschrieben von eulerscheZahl am 29.12.2014 um 13:56:

 

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.



Geschrieben von 123michi19 am 29.12.2014 um 17:11:

 

Zitat:
wobei das erste Bit immer eine 1 ist und daher nicht geschrieben werden


Das wäre dann wahrscheinlich das sogenannte HiddenBit?



Geschrieben von eulerscheZahl am 29.12.2014 um 17:12:

 

genau.



Geschrieben von 123michi19 am 29.12.2014 um 17:30:

 

Super, vielen Dank. Das hilft mir schon sehr weiter.



Geschrieben von Erstsemestler am 21.01.2015 um 12:33:

 

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 :-)



Geschrieben von eulerscheZahl am 21.01.2015 um 12:37:

 

Ist in der Norm festgelegt: IEEE 754



Geschrieben von Erstsemestler am 21.01.2015 um 12:39:

 

Danke dir :-)


Forensoftware: Burning Board, entwickelt von WoltLab GmbH