gutefrage.net, die Ratgeber Community
Login   |  Registrieren   |  Forum |  Richtlinien & FAQ

Umrechnung von Kommazahlen ins Binärsystem

gefragt von achmano am 21.01.2009 um 14:22 Uhr

Weiß einer wie die Umrechnung von Kommazahlen ins Binärsystem gehen.

z. B. 12,5 ins Binärsystem als eine 16 Bit-Folge?

eigentlich ist es ja so dass man einfach die kommazahl * 2 macht

bsp:

0.562=1,12 1 0,122=0,24 0 . . . . usw.

aber hier kann ich das nicht machen da die zahl viel größer ist also mich irritiert die 12 vor dem Komma und die 16 Bits.

Frage beantworten

Hier finden Sie weitere Fragen zu den Themen:

mathematik x 2.623 informatik x 927 umrechnungen x 4

aleph
beantwortet von aleph am 21. Januar 2009 14:31
1x
Die Antwort ist hilfreich? Dann klick mich!

Einfach durch additive Zerlegung:

Ganzzahl vor dem Komma

+

Dezimalzahlen

also die 12 dazuzählen!

Dein Beispiel 12,5(dezimal):

1100 (12) + 0,1 (0,5) = 1100,1

PS: Hab die 16 bit vergessen... ich glaube, dass man noch die Mantisse angeben muss. Müsste grad nochmal danach schauen.

Kommentar von Murso am 21. Januar 2009 14:38

Bin zwar nicht der Fragesteller, aber wie ließt man denn dann die Binäre Komma Zahl (im Beispiel die 1 hinter 1100). Ich meine welche Formel/Regel sagt mir, dass das 0,5 ist?

Kommentar von E053ce2783fb820d02ee4a32f5b125bdsmallaleph am 21. Januar 2009 14:43

Zum Einen muss hier noch was umgestellt werden, da die von mir dargestellte duale Zahl nicht in der 16-bit-Darstellung ist.

Hierzu kann man unter http://de.wikipedia.org/wiki/Gleitkommazahl#Gleitkommazahleninder_Digitaltechnik

schön nachlesen, dass noch normalisiert werden muss.

Zum Anderen und auch um auf Deine Frage einzugehen, stehen die Einerstellen im Dualsystem für 2 hoch 0, die Zehnerstellen für 2 hoch 1, etc.

So dass 1100 =

1 mal 2 hoch 3 (=8) +

1 mal 2 hoch 2 (=4) +

0 mal 2 hoch 1 (=0) +

0 mal 2 hoch 0 (=0)

16 ergibt.

Weiter geht es dann hinter dem Komma mit

1 mal 2 hoch (-1) = 1/2 = 0,5

etc. einfach analog zum Zehnersystem!

Kommentar von Murso am 21. Januar 2009 14:52

ahhhh, wieder was gelernt. danke :)

Kommentar von E053ce2783fb820d02ee4a32f5b125bdsmallaleph am 21. Januar 2009 14:56

Jetzt hab ich es:

Für 16-bit nehmen wir

Vorzeichen 1 bit

Mantisse 10 bit

Exponent 5 bit

  1. Exzess berechnen: 2 hoch (5-1) = 15

  2. Duale Festkommazahl ohne Vorzeichen: s.o. = 1100,1

  3. Normieren:

1100,1 mal 2 hoch 0 = 1,1001 mal 2 hoch 3

  1. Dualer Exponent:

3 + 15 = 18

18 durch 2 = 9 Rest 0

9 durch 2 = 4 Rest 1

4 durch 2 = 2 Rest 0

2 durch 2 = 1 Rest 0

1 durch 2 = 0 Rest 1

ergibt: 10010

  1. Vorzeichenbit (da positiv) = 0

  2. Das Ergebnis:

0 10010 1001000000

Wie gesagt, analog zum Link:

http://de.wikipedia.org/wiki/Gleitkommazahl#Gleitkommazahleninder_Digitaltechnik

bis auf die Tatsache dass dort mit einer 24-bit-Darstellung gerechnet wird!

Kommentar von achmano am 21. Januar 2009 15:08

Ist es nicht so?

die ersten 8 bits gehören zur 12, und die anderen 8 zur 0,5.

d.h. 12 = 1100 -> 0000 1100

und für die anderen 8 bits gilt dann:

0,5 * 2 = 1,0 0 * 2 = 0 0 * 2 = 0 0 * 2 = 0 0 * 2 = 0 0 * 2 = 0 0 * 2 = 0 0 * 2 = 0

-> 10000000

und zusammen ergibt das dann 0000110010000000.

ich hoffe doch mal das es so stimmt!

Kommentar von E053ce2783fb820d02ee4a32f5b125bdsmallaleph am 21. Januar 2009 15:20

Das was Du meinst, könnte nach der Festkommadarstellung gemeint und damit richtig sein!

Kommt auf die Vorgabe an, wo da das Komma positioniert ist (wenn Du sagst zwischen 8. und 9. bit, dann ok)!

Zur Sicherheit aber prüfen, dass das Vorzeichenbit (1. bit) auch passt!

Kommentar von E053ce2783fb820d02ee4a32f5b125bdsmallaleph am 21. Januar 2009 15:22

Kann auch sein, dass Ihr nicht mit Vorzeichenbit arbeitet...


heizfeld
beantwortet von heizfeld am 25. Juni 2009 13:41
0x
Die Antwort ist hilfreich? Dann klick mich!

der computer kann selbstverständlich nur ganzzahlen ablegen, daher bedient man sich eines kleinen tricks.

man erweitert die zahlen, bis kein komma mehr vorhanden ist und rechnet damit.

Am schluss werden in einem extra byte gespeichert, an wievelter stelle von rechts sich das imaginäre komma befindet.

Zum benutzer hin wird die zahl dann natürlich als text angezeigt.

Entweder mit einer festen zahl von nachkommastellen oder variabel als sogenannte fliesskommazahl (in wissenschaftlicher schreibweise 1.xxxx*10^n oder xxxx.xxxx)

aber auch als programmierer kommt man mit der internen speicherung kaum in berührung, das erledigt der compiler.

KOmmazahlen brauchen auf maschinenebene so ab 24 bit aufwärts, je nach bedarf des zahlenvorats weden auch längere typen zur verfügung gestellt.


anonym
beantwortet von Murso am 21. Januar 2009 14:28
0x
Die Antwort ist hilfreich? Dann klick mich!

Gute Frage. Hab noch nie gesehen das man Binär Kommazahlen "schreiben" kann. Wäre mir auch neu. Bin auf die Antwort gespannt


Frage beantworten

Verwandte Fragen

Verwandte Fragen

Noch nicht die richtige Antwort? Dann hier in allen Fragen und Tipps suchen:




Die unter gutefrage.net angebotenen Dienste und Ratgeber Inhalte werden nicht geprüft. Die Richtigkeit der Inhalte wird nicht gewährleistet. Bitte lesen Sie hierzu auch unsere Rechtlichen Hinweise.