IEEE-754 Mantisse berechnen < Technische Inform. < Praktische Inform. < Hochschule < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 15:37 Do 12.06.2008 | Autor: | mrkwg |
Hallo.
Zuerst entschuldige ich mich, falls ich im falschen Unterpunkt meine Frage stelle. Ich weiß nicht so ich das einordnen soll.
Wir haben folgendes heute gerechnet und irgendwann bin ich nicht mehr mitgekommen.
1,5 = [mm] 2^0*1,5
[/mm]
Wie ich an die [mm] 2^0*1,5 [/mm] komme weiß ich noch.
Jetzt wird es allerdings langsam unklar. So ein paar vermeindliche Regeln habe ich mir selber aufgestellt, aber ob die stimmen und immer anwendbar sind weiß ich nicht
Im o.g. Beispiel ist die Basis positiv. D.h. das ich für diese lange Zahlenfolge von 1 und ß ganz vorne eine 0 habe.
Wäre die Basis negativ hätte ich eine 1 ganz vorne.
Jetzt kommt die Lösung:
1,5 = [mm] 2^0*1,5 [/mm] = 0 10000000000000000000000 [0 1 22Nullen]
Wieso kommt man auf diese Zahlenfolge (Mantisse?)
Als weitere Notiz habe ich noch
127 = 01111111
2 = 00000010
129 = 10000001
Wie wurde aus 127 und 2; 129?
Vielen Dank für die Hilfe
|
|
|
|
Hallo mrkwg!
> Zuerst entschuldige ich mich, falls ich im falschen
> Unterpunkt meine Frage stelle. Ich weiß nicht so ich das
> einordnen soll.
Ich hab's mal in die technische Informatik verschoben, da es meiner Meinung nach dahin gehört. Wir haben es da jedenfalls gemacht.
> Wir haben folgendes heute gerechnet und irgendwann bin ich
> nicht mehr mitgekommen.
>
> 1,5 = [mm]2^0*1,5[/mm]
>
> Wie ich an die [mm]2^0*1,5[/mm] komme weiß ich noch.
> Jetzt wird es allerdings langsam unklar. So ein paar
Naja, aber die 1,5 musst du ja auch noch in eine Binärzahl umrechnen, das wäre dann: [mm] 1,5_{10}=1,1_2.
[/mm]
> Im o.g. Beispiel ist die Basis positiv. D.h. das ich für
> diese lange Zahlenfolge von 1 und ß ganz vorne eine 0
> habe.
Ich weiß zwar nicht, was du mit ß meinst, aber die 0 ist in der Tat das Vorzeichenbit für positive Zahlen.
> Wäre die Basis negativ hätte ich eine 1 ganz vorne.
Das heißt, was meinst du denn mit Basis? Die ganze Zahl ist positiv, also haben wir die 0.
> Jetzt kommt die Lösung:
>
> 1,5 = [mm]2^0*1,5[/mm] = 0 10000000000000000000000 [0 1 22Nullen]
Ich glaube nicht, dass das die komplette Lösung ist. Ich vermute, dass du das Single Format verwendest, bei dem die Mantisse aus 23 Bit besteht. Du hast hier aber insgesamt nur 24 Zeichen stehen, da fehlt noch der komplette Exponent.
> Wieso kommt man auf diese Zahlenfolge (Mantisse?)
Naja, was du da stehen hast, ist das Vorzeichen Bit und die Mantisse. Also Binärzahl ist 1,5 ja 1,1, da man bei diesem Format hier immer normierte Zahlen verwendet (wo also eine 1 vor dem Komma steht), muss man die führende 1 nicht mehr abspeichern, so dass für die Mantisse nur noch eine 1 gespeichert werden muss. Die restlichen 21 Stellen werden mit Nullen aufgefüllt.
> Als weitere Notiz habe ich noch
>
> 127 = 01111111
> 2 = 00000010
> 129 = 10000001
>
> Wie wurde aus 127 und 2; 129?
Naja, wahrscheinlich einfach addiert.
Nein, im Ernst, ich weiß nicht ganz, was das hier soll. Was oben noch fehlt, ist der Exponent. Der errechnet sich also Exponent der normierten Zahl plus den Bias. Da die Zahl 1,5 nach Umwandlung in binär schon normiert ist (da steht ja genau eine 1 vor dem Komma) und der Exponent 0 ist, berechnet sich der komplette Exponent als [mm] 0+127=127_{10}=01111111. [/mm] Meiner Meinung nach wäre die Zahl 1,5 also im IEEE 754 Single Format:
0|01111111|10000000000000000000000
Wo genau hast du diese Aufgabe bzw. die Lösung her?
Viele Grüße
Bastiane
|
|
|
|
|
Status: |
(Frage) überfällig | Datum: | 00:06 Di 24.06.2008 | Autor: | mrkwg |
Ja ich war das damals auch.
Ich habe in meinen alten Beiträgen mal geschaut, aber da habe ich nur die letzten 6 gefunden und den Beitrag hier nicht mehr gefunden.
Meine Veranstaltung heißt: "Datenverarbeitung"
Es weiß auch keiner so genau warum wir das machen müssen. Wir studieren BWL und sollen so ein bischen VB können und dann noch sowas hier halt. Zumal ich nach dem Studium noch um die 8Jahre verpflichtet bin, aber das ist ein ganz anderes Thema.
Erstmal Danke das du mir geholfen hast. Ein paar Sachen sind mir allerdings noch nicht klar.
Wie ich an die 0 gekommen bin weiß ich ja nun.
Was ist $ [mm] 1,5_{10}=1,1_2. [/mm] $ ausgeschrieben?
Warum sind die 10 und die 2 tiefer versetzt?
Du hattest geschrieben das mir der Exponent fehlt. Das wusste ich damals z.B. garnicht :) Jetzt fällt mir das auch auf.
Die Aufgabe steht mit Lösung in unserem Skript. Allerdings kein Rechenweg.
Die Lösung mit 0 01111111 100000..... stimmt.
"Der errechnet sich also Exponent der normierten Zahl plus den Bias. "
Habe mal eben geschaut was dieses/dieser Bias ist. Das ist wohl 127.
Den Rest kann ich leider auch nicht mehr nachvollziehen.
"Da die Zahl 1,5 nach Umwandlung in binär schon normiert ist (da steht ja genau eine 1 vor dem Komma) und der Exponent 0 ist, berechnet sich der komplette Exponent als $ [mm] 0+127=127_{10}=01111111. [/mm] $ "
Was ist normiert?
1 vor dem Komma sehe ich. Exponent ist 0 sehe ich auch. Ist der Exponen gleich die Zahl die ich zu 127 addieren müsste?
Wenn ich in meinem Fall dann 127 von dezimal nach binär umwandel komme ich auf 0111111.
Hmmm.... Also vielleicht würde ich das doch schaffen zu dem Ergebniss zu kommen.
Ich werde das morgen mal mit einer anderen Zahl versuchen. Vorzugsweise mit der 6 aus meinem anderen Thred.
Wenn die Fragen von mir auch noch aus dem Weg geräumt sind sollte das eigentlich klappen.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 00:20 Do 26.06.2008 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 10:02 Di 24.06.2008 | Autor: | mrkwg |
Ich habe das jetzt nochmal durchgerechnet.
6 als Dezimalzahl.
6 = [mm] 2^2*1,5 [/mm] An die 1,5 komme ich indem ich die 6solange durch 2 teile bis das Ergebnis irgendwas zwischen =1 und 2 ist. Dann 6/1,5 = 4. Wie ich 4 so umschreibe das ich eine Potenz habe sollte man dann einfach sehen --> [mm] 2^2
[/mm]
Weil die Basis 2 ist, somit positiv, ergibt sich als erstes bit eine 0
Da der Exponent von [mm] 2^2 [/mm] 2 ist, wird dieser zum "Grundwert" 127 addiert = 129 und 129 wird in binär umgerechnet --> 10000001
Die Mantisse hat ganz vorne immer eine 1, die aber weggelassen werden kann.
Da wir die 6 = [mm] 2^2+1,5 [/mm] geschrieben haben, können wir an der 1,5 oder besser an der 0,5 sehen, das die Mantisse 1000....0000 ist.
Somit ergibt sich: 0 10000001 10...0
Nächstes Beispiel
10 als Dezimalzahl
Kann man umschreiben zu [mm] 2^3*1,25
[/mm]
Basis von [mm] 2^3 [/mm] ist positiv, also 0
Exponen von [mm] 2^3 [/mm] ist 3. also 127+3= 130 umgerechnet zu binär =
10000010
Da wir *1,25 haben betrachten wir die 0,25 welche bei der Mantisse vorne eine 01 stehen lässt. Also 01000...000
Insgesamt also 0 10000010 01000...000
Hätten wir *1,75 --> 0,75 --> 11 vorne bei der Mantisse
*1,125 --> 0,125 --> 001 vorne bei der Mantisse.
Mit diesen "Regeln" müsste ich doch erstmal richtig liegen, oder?
|
|
|
|