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)
--- Dezimal zu IEEE 32-Bit Gleitkommazahl (http://www.informatikerboard.de/board/thread.php?threadid=1214)
Geschrieben von Per Güncher am 17.05.2012 um 18:31:
Dezimal zu IEEE 32-Bit Gleitkommazahl
Meine Frage:
Ich habe die Zahl -138,448 gegeben und soll diese in eine 32-Bit Gleitkommazahl umwandeln.
Meine Ideen:
Ich habe bis jetzt als Vorzeichen 1 (weil negativ)
Exponent e = 7 + 127 = 134 => 10000110
Aber bei der Mantisse bekomme ich 684720,128 als Ergebnis raus, muss ich das jetzt in binär umwandeln?
Geschrieben von stromertle am 17.05.2012 um 19:08:
hallo
zuerst solltest du die zahl an sich ohne vorzeichen in eine binärzahl (mit komma) umwandeln
zb 2,25 = 10,01
jetzt kommen wir zu dem exponenten:
du musst das komma so weit vorverschieben, bis du nur noch eine 1 davor hast
also:
10,01 = 1,001 * 2^1
(die Multiplikation mit 2^x ist bei Binärzahlen lediglich die Ziffer um eine stelle nach rechts zu verschieben)
nun nimmst du diese 1 und addierst sie auf deinen exponent 127 drauf und wandelst diese Zahl wieder binär um
Geschrieben von stromertle am 17.05.2012 um 19:33:
also wir haben das so gelernt:
wir nehmen eine zahl zb 18,4
nun wandeln wir diese in eine binärzahl um
18,4 = 10010,01100110011...
(die 0,4 werden wie folgt umgewandelt:
0,4*2 = 0,8 => 0
0,8*2 = 1,6 => 1
0,6*2 = 1,2 => 1
0,2*2 = 0,4 => 0
usw...., dann ergibt das die nachkommastelle von oben nach unten gelesen)
Nun müssen wir die Zahl noch normalisieren, dh vor dem Komma darf nur noch eine 1 stehn, somit müssen wir das Komma um 4 stellen nach rechts verschieben ( 1,001001100110011...)
10010,01100110011... *2^0 = 1,00100110011... *2^4
(die Operation *2 verschiebt das Komma um je eine stelle nach rechts, somit steht auf beiden seiten das gleiche, da wir immer mit 10 multiplizieren und das natürlich 4 mal)
zb: 10*10 = 100 = 1*10*10 = 1 *2^4
so und nun müssen wir natürlich auf den exponenten diese 4 dazuaddieren
=> Exponent e = 127+4 = 131 = 1000 0011
nun nehmen wir das vorzeichen (in diesem beispiel 0)
und wir kommen insgesamt auf
0|10000011|00100110011001100110011
Geschrieben von Per Güncher am 17.05.2012 um 19:57:
Ja, dann werde ich mal versuch
meine zahl nach diesem Muster umzuwandeln.
Danke erstmal!
Geschrieben von kanita am 22.12.2014 um 13:21:
Die Beschaltung sollte das eig. schon stimmen.
Der 2. Anschluss unten am Multiplexer ist kein Select sondern ein Chip Enable. Mit High-Pegel könnte ich den MP deaktivieren.
Der Eingang den ich ansteurere ist ein 2bit breiter Bus.
________________
Are you worried about
C4090-451 prep and
testking Check out our latest resources for ccna braindump and
muih questions for practice with
www.rasmussen.edu guarantee of
University of Kansas Medical Center
Forensoftware: Burning Board, entwickelt von WoltLab GmbH