Autor |
Nachricht |
LioGetz
Threadersteller
Dabei seit: 24.03.2003
Ort: Aachen
Alter: 44
Geschlecht:
|
Verfasst So 18.02.2007 14:15
Titel Informatik-Frage: Gleitkommazahlen |
|
|
Hallo Forum,
erstmal vorweg: Ich weiß, das ist eigentlich nicht das richtige Forum, aber die anderen Themenspezifischen Foren kommen irgendwie nicht aus dem Quark. Deshalb versuche ich hier mal schnell mein Glück - hat den Anschein das hier sowieso in jeder Lebenslage Hilfe zu finden ist .
Folgendes, hocke nach der MG-Ausbildung in nem Studium, und plage mich gerade mit Informatik rum. Donnerstag ist ne Klausur "Rechnerstrukturen" und bei diversen Themen sehe ich noch Schwarz. Deshalb sitz ich Karneval auch nicht in ner Kneipe, sondern am Schreibtisch .
Im Moment beschäftige ich mich mit Gleitkommazahlen (Umrechnung von Dezimal in GK und umgekehrt und Addition von GK).
Und meine Frage: Wie geht das ?!
Ich habe schon diverse Quellen bemüht, aber so richtig schlau werde ich daraus nicht.
IEEE darstellung 32bit:
1 Bit Vorzeichen,
8 Bit Exponent
23 Bit Mantisse, soweit klar .
Den schritt mit dem "Bias" hab ich auch vertanden (also Mantisse dezimal errechnen und dann Exp-127.
Aber dann hörts auch schon auf...irgendwas immer mit 2^keine Ahnung was, mit Komma-Verschieben usw usw...ich finde zwar immer so ne fesche Formeln, aber damit kann ich persönlich nicht soviel anfangen. Kann mir das mal jemand an nem "praktischem Bsp." erläutern ?!
z.B. an ner alten Klausur-Aufgabe: Wie ist die Darstellung von -42,625 im 32-Bit-IEEE-Gleitkomma-Format (bin auch offen für Bsp. von GK in Dezimal, oder GK-Addition).
Vielen Danke im Voraus, ich bin langsam wirklich ratlos...Vielleicht kennt sich ja "zufällig" einer damit aus - und kennt mal gute Quellen mit Bsp. oder Rechenanleitungen davon...
CU
Lio
Zuletzt bearbeitet von LioGetz am So 18.02.2007 14:31, insgesamt 2-mal bearbeitet
|
|
|
|
|
myel
Dabei seit: 19.01.2004
Ort: -
Alter: -
Geschlecht:
|
|
|
|
|
Anzeige
|
|
|
LioGetz
Threadersteller
Dabei seit: 24.03.2003
Ort: Aachen
Alter: 44
Geschlecht:
|
Verfasst So 18.02.2007 15:14
Titel
|
|
|
hm, den wiki-link hatte ich natürlich auch schon geguckt...
aber ich habs nicht so mit log von irgendwas im kopf auszurechnen .
egal - ich habs jetzt geschnallt...und krieg das so auch hin...
jetzt bin ich auf der suche nach Gleitkomma-Addition
|
|
|
|
|
Dr.Dangerous
Dabei seit: 04.10.2004
Ort: MW
Alter: 40
Geschlecht:
|
Verfasst So 18.02.2007 17:45
Titel
|
|
|
Hi LioGetz!
ich versuchs mal mit dem Bsp. 0100 0100 0111 1010 0000 0000 0000 0000
1) Vorzeichen rausfinden: 0 1000 1000 1111 0100 0000...
Da NULL, ist das Vorzeichen positiv, also "+".
2) Charakteristik rausfinden (nächsten 8 Stellen nach dem Vorzeichen): 1000 1000 ...
Diese wandelst Du sogleich ins Dezimalsystem um. Also 136
3) Jetzt ziehst Du die Charakteristik (8Bit Charakteristik = 127) von der o.g. 136 ab und erhälst den Exponenten 9
4) Nun die Formel: positives Vorzeichen * 2^9 * Mantisse (11110100...) das sieht dann so aus:
= +2^9 * ( 1 + 2^(-1) + 2^(-2) + 2^(-3) + 2^(-4) + 0 + 2^(-6) )
= +2^9 + 2^8 + 2^7 + 2^6 + 2^5 + 2^3
= +1000.0
======
So, ich hoffe, ich hab keinen Fehler gemacht. Ist übrigens ne "float"
Hilfe kannst Du übrigens auch hier bekommen:
JavaApplet GleitkommaUmrechner
Zahlenumrechner mit Erklärung
Viel Erfolg bei den Prüfungen, hab' diese schon hinter mich gebracht...
Bye bye
Zuletzt bearbeitet von Dr.Dangerous am So 18.02.2007 18:25, insgesamt 1-mal bearbeitet
|
|
|
|
|
LioGetz
Threadersteller
Dabei seit: 24.03.2003
Ort: Aachen
Alter: 44
Geschlecht:
|
Verfasst So 18.02.2007 18:58
Titel
|
|
|
Hi Danger,
danke für dein Beispiel, ist soweit auch logisch...das wollte ich jetzt mal in der Form auf ne alte Klausuraufgabe von mir anwenden und habs dann doch wieder nicht gekonnt.
Es geht um: 0 | 00000001 | 01010000000000000000000
okey, erste NULL = Positiv
dann der Exponent: 00000001 = Dezimal 1
und da fängt das problem schon an...wie rechne ich da weiter ???
Mit 2^(-126) ???
Irgendwie muss das einfach und im Kopf lösbar sein, (war nur ne "kleine" Klausur, ich schreib die Große), und ohne Taschenrechner oder sonstigen Hilfsmitteln.
Thx,
CU
Lio
// edit: okey, hab gerade ne Musterlösung gefunden, die wollten da wirklich nur eine vereinfachte Form sehen.
Das Ergebnis ist in dem Fall dann 1, 3125 · 2^(−126)
Zuletzt bearbeitet von LioGetz am So 18.02.2007 19:08, insgesamt 1-mal bearbeitet
|
|
|
|
|
|
|
|
Ähnliche Themen |
Frage an Mediengestalter
Buchhaltungstechnische Frage
eine frage ...
Dumme Frage
[frage] www.mediengestalterforum.de
ernste Frage
|
|