Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

it:float [2011/12/04 15:14]
wikisysop [Gleitkommazahlen]
it:float [2012/06/08 13:02] (aktuell)
wikisysop
Zeile 32: Zeile 32:
 }</​code>​ }</​code>​
  
-Dieser Code gibt die Summen in der Variablendeklaration ​mit neun Nachkommastellen aus:+Dieser Code gibt die Summen ​der Addition bzw. Multiplikation ​in der Variableninitialisierung ​mit neun Nachkommastellen aus:
  
 <​xterm>​$ <fc #​008000>​./​float_2</​fc> ​ <​xterm>​$ <fc #​008000>​./​float_2</​fc> ​
Zeile 135: Zeile 135:
 0,0   * 2 = 0,0  → 0</​code>​ 0,0   * 2 = 0,0  → 0</​code>​
  
-Somit haben wir das Zwischenergebnis >>''<​fc #​008000>​10111,​0010</​fc>''<<,​ welches nun noch **normalisiert** werden muss. Um nur eine Ziffer (≠ 0) vor dem Komma stehen zu haben, muss dass Komma um vier Stellen nach links verschoben werden, dass entspricht einer Multiplikation mit >>''<​fc #​008000>​2<​sup>​4</​sup></​fc>''<<​. Für die normalisierte Darstellung erhalten wir demnach: ''<​fc #​008000>​1,​0111001 * 2<​sup>​4</​sup></​fc>''​. Die Mantisse wird nun ohne der ersten >>​1<<​ gespeichert (>>​hidden bit<<​) und ergibt somit: ''<​fc #008000>10111001</​fc>'',​ die restlichen Stellen, werden mit Nullen aufgefüllt. ​+Somit haben wir das Zwischenergebnis >>''<​fc #​008000>​10111,​0010</​fc>''<<,​ welches nun noch **normalisiert** werden muss. Um nur eine Ziffer (≠ 0) vor dem Komma stehen zu haben, muss dass Komma um vier Stellen nach links verschoben werden, dass entspricht einer Multiplikation mit >>''<​fc #​008000>​2<​sup>​4</​sup></​fc>''<<​. Für die normalisierte Darstellung erhalten wir demnach: ''<​fc #​008000>​1,​0111001 * 2<​sup>​4</​sup></​fc>''​. Die Mantisse wird nun ohne der ersten >>​1<<​ gespeichert (>>​hidden bit<<​) und ergibt somit: ''<​fc #008000>0111001</​fc>'',​ die restlichen Stellen, werden mit Nullen aufgefüllt. ​
  
 Der Exponent ist >>''<​fc #​008000>​4<​sub>​10</​sub></​fc>''<<,​ was >>''<​fc #​008000>​100<​sub>​2</​sub></​fc><<''​ entspricht. Nun wird noch der >><​fc #​008000>​Bias</​fc><<​ (''<​fc #​008000>​127</​fc>''​) auf den Exponenten addiert: ''<​fc #​008000>​4<​sub>​10</​sub>​ + 127<​sub>​10</​sub>​ = 131<​sub>​10</​sub>​ = 10000011<​sub>​2</​sub></​fc>''​. Setzt man nun diese ermittelten Werte zusammen kommen wir zu folgendem Ergebnis: Der Exponent ist >>''<​fc #​008000>​4<​sub>​10</​sub></​fc>''<<,​ was >>''<​fc #​008000>​100<​sub>​2</​sub></​fc><<''​ entspricht. Nun wird noch der >><​fc #​008000>​Bias</​fc><<​ (''<​fc #​008000>​127</​fc>''​) auf den Exponenten addiert: ''<​fc #​008000>​4<​sub>​10</​sub>​ + 127<​sub>​10</​sub>​ = 131<​sub>​10</​sub>​ = 10000011<​sub>​2</​sub></​fc>''​. Setzt man nun diese ermittelten Werte zusammen kommen wir zu folgendem Ergebnis:
it/float.1323008067.txt.gz (17870 views) · Zuletzt geändert: 2011/12/04 15:14 von wikisysop
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0