Archiv verlassen und diese Seite im Standarddesign anzeigen : Was ist ne Gleitkommaberechnung ?
na ja, was ist das ???
(Anregung kam von da: http://www.forum-3dcenter.org/vbulletin/showthread.php?s=&postid=787325#post787325 )
Gruß und danke!
betasilie
2003-03-26, 15:21:15
Ich habe es schon im anderen Thread versucht.
Eine Gleitkomma-Zahl erlaubt halt ein Komma. Somit hat die CPU einen größeren Zahlenberich, als wie mit ganzen Zahlen. Die Gleitkommazahl besteht aus Mantisse, die nur die Ziffern der Zahl enthält, sowie dem Exponenten, der die Kommaposition festlegt. Durch Änderung des Exponenten kannst Du das Komma verschieben, daher der Name Fließkommazahl/Gleitkommazahl.
So in der Art hat es mir mal ein Bekannter erklärt, der Informatik studiert.
grad erst gesehen, aber Danke. Bis auf Mantisse versteh ich`s.
(jetzt geht`s zweigleisig weiter, sorry. Vielleicht kann man den hier wieder schließen)
Gruß
betasilie
2003-03-26, 15:30:45
Originally posted by MOB
grad erst gesehen, aber Danke. Bis auf Mantisse versteh ich`s.
(jetzt geht`s zweigleisig weiter, sorry. Vielleicht kann man den hier wieder schließen)
Gruß
Lass den mal ruhig hier stehen. Wer weiß, ob ich das alles richtig in Erinnerung habe. ;)
Legolas
2003-03-26, 15:32:24
Kommas gibt es auch bei Fixpunktzahlen, dazu braucht man keine Gleitpunktzahlen. :). Der Nachteil der Fixpunktdarstellung für gebrochene Zahlen ist nun, daß man das Komma an eine feste Stelle setzt, und damit der darstellbare Zahlenbereich je nach Bitzahl eingeschränkt ist.
Für die Gleitkommadarstellung benutzt man hingegen die wissenschaftliche Zahlendarstellung mit Mantisse und Exponent:
Mantisse * 2^Exponent
Durch diese Darstellungsform kann man nun einen viel größeren Zahlenbereich mit einer ausreichenden Genauigkeit erfassen, die Größenordnung der dargestellten Zahl wird durch den Exponenten bestimmt. Basis ist für normal immer 2, da heutige Computer Binärrechner sind. Die Mantisse bestimmt nun den 'Wert' der Zahl, das Komma wird entsprechend der Größe des Exponenten verschoben. So erhält man aus einer Gleitpunktzahl wieder eine 'normale' Zahl.
Nachteile der Gleitpunktdarstellung ist, daß nicht alle Stellen des darstellbaren Wertebereichs mit gleicher Genauigkeit erfasst werden. Außerdem kann es beim Rechnen zu Rundungsfehlern Aufgrund der begrenzten Genauigkeit kommen.
So, ich hoffe mal das ist einigermassen verständlich.
zeckensack
2003-03-26, 15:37:02
m*2^e
m ist die Mantisse, eine Zahl zwischen 1 und 2.
e ist der (Binär-)Exponent.
zB die Zahl 0,625:
=1,25*0.5
=1,25*2^(-1)
=>Mantisse=1.25; Binärexponent=-1
Man vergleiche das mit der 'wissenschaftlichen Darstellung'
'3e+9' aka '3*10^9' = 3000000000
Demirug
2003-03-26, 15:39:56
So ich spare mir mal lange erklärungen und verlinke einfach ;)
http://research.microsoft.com/~hollasch/cgindex/coding/ieeefloat.html
Legolas
2003-03-26, 15:41:39
Sind Mantissen nicht immer zwischen 0 und 1???
So hat man uns das zumindest verzapft :).
zeckensack
2003-03-26, 15:45:57
Originally posted by Legolas
Sind Mantissen nicht immer zwischen 0 und 1???
So hat man uns das zumindest verzapft :). IEEE-754 hat ein 'hidden bit' vor dem Dualpunkt, was bei normalisierten Zahlen immer implizit eins ist. Gespeichert werden nur die Bits nach dem Dualpunkt.
'Echte' Mantisse:
1 <= x < 2; zB 1,0011
gespeicherte Mantisse:
0 <= x < 1; zB ,0011
Also haben wir irgendwie beide recht ;)
Demirug
2003-03-26, 15:46:09
Originally posted by Legolas
Sind Mantissen nicht immer zwischen 0 und 1???
So hat man uns das zumindest verzapft :).
Das hängt von der genauen Definition des Formats ab. Im Prinzip darf man da jeden Zahlenbereich festlegen. Wichtig ist eben nur das man die Wertigkeit des höchsten Bits der Mantisse kennt.
Richtig schön wird das ganze wenn man von einem Format in ein anderes umwandeln muss und eins davon die FPU nicht beherscht.
@ All: n`herzlichen, langsam klährt sich`s. Den Link guck ich mir heut Abend mal an.
Gruß
Legolas
2003-03-26, 15:50:32
Originally posted by zeckensack
IEEE-754 hat ein 'hidden bit' vor dem Dualpunkt, was bei normalisierten Zahlen immer implizit eins ist. Gespeichert werden nur die Bits nach dem Dualpunkt.
'Echte' Mantisse:
1 <= x < 2; zB 1,0011
gespeicherte Mantisse:
0 <= x < 1; zB ,0011
Also haben wir irgendwie beide recht ;)
Naja, bei uns in der Vorlesung wurde immer auf 0.1xxxxx normiert, also auf die 1. Nachkommastelle. Aber das kann man wohl machen, wie man grad Lust hat, da hat Demirug wohl recht :).
Lutschbirne
2003-04-01, 19:28:04
Ich wäre jemandem, der das hier so schön erklärt hat, bzw es ähnlich gut kann, sehr verbunden, wenn er mich in ICQ adden würde. (ich brauch Privatbetreuung :D Ich kann hier den thread nicht vollspammen mit vielen winzigen Fragen ;))
86921817.
Danke im Vorraus.
zeckensack
2003-04-01, 19:43:23
Bah @ ICQ. Frag einfach, vielleicht nützt es auch anderen. Außerdem müssen wir die Suchfunktion immer gut füttern :D
Demirug
2003-04-01, 20:44:42
Originally posted by zeckensack
Bah @ ICQ. Frag einfach, vielleicht nützt es auch anderen. Außerdem müssen wir die Suchfunktion immer gut füttern :D
Genau,
aber für jedes Thema immer schön einen neuen Thread aufmachen ;)
Muh-sagt-die-Kuh
2003-04-12, 13:16:37
Ahhh....Floating-Points :D
Kurze Frage:
Kennt jemand von euch eine Quelle im Netz die detailliert eine IEEE-754 Emulation beschreibt, also wie man z.B. eine FP Addition mit Integer Befehlen realisiert.
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.