Forum: PC-Programmierung Dezimal in binär umwandeln


von Iven (Gast)


Lesenswert?

Hallo,

gesucht wird die Binärzahl von -2,375.

Wie gehe ich bei einer negativen Zahl vor, normalerweise würde ich die 
Werte vor dem Komma durch 2 teilen und die nach dem Komma mit 2 
muliplizieren. Aber wie sieht es mit negativen Zahlen aus?

von Klaus (Gast)


Lesenswert?

Wertigkeit nach dem Komma:

2^-1 sprich 0,5
2^-2 sprich 0,25
2^-3 sprich 0,125
2^-4 sprich 0,0625
2^-5 sprich 0,03125
2^-6 sprich 0,015625
usw.

Umwandlung:

https://de.wikipedia.org/wiki/Zweierkomplement

Sollte selbsterklärend sein...

von tip (Gast)


Lesenswert?

solange mit 2 Multiplizieren, bis der Fehler < +/-1
Dann hast du die Auflösung

von Iven (Gast)


Lesenswert?

Dann kriege ich 5,5 raus und muss das anschliessend ins binäre 
umwandeln?
101,101?

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Iven schrieb:
> gesucht wird die Binärzahl von -2,375.

2,375 in Binärdarstzellung ist 10,011

=> -2,375 in Binärdarstzellung ist -10,011

Es gibt unterschiedliche Möglichkeiten, negative Zahlen darzustellen; 
die von dir gewählte ist, ein "-" vor der Zahl...

von Noch einer (Gast)


Lesenswert?

>Es gibt unterschiedliche Möglichkeiten

Die am häufigsten genutzte ist IEEE 754.
Bevor es sich durchsetzte, war BCD-Code verbreitet.
Dann gibt es noch Festkommazahlen. Du nimmst das Zweierkomplement von 
-2375 und dein Programm weiß, dass es das Komma um 3 Stellen verschieben 
muss.
Und natürlich kannst du auch deine eigene Kodierung erfinden.

von Georg (Gast)


Lesenswert?

Iven schrieb:
> gesucht wird die Binärzahl von -2,375

Wenn die Zahl als IEEE-Gleitkommazahl gespeichert ist (wie auch sonst), 
dann steht sie ja schon in binärer Form im Speicher, umzuwandeln gibt es 
da nichts - du müsstest bloss die Bytes der Gleitkommazahl als Folge von 
0 und 1 ausgeben. Und verstehen, wie das Gleitkommaformat aufgebaut ist.

Georg

von Joe F. (easylife)


Lesenswert?


von Rolf M. (rmagnus)


Lesenswert?

Noch einer schrieb:
>>Es gibt unterschiedliche Möglichkeiten
>
> Die am häufigsten genutzte ist IEEE 754.
> Bevor es sich durchsetzte, war BCD-Code verbreitet.
> Dann gibt es noch Festkommazahlen. Du nimmst das Zweierkomplement von
> -2375 und dein Programm weiß, dass es das Komma um 3 Stellen verschieben
> muss.
> Und natürlich kannst du auch deine eigene Kodierung erfinden.

Genau, denn es wurde ja nur von "binär" geschrieben. Es gibt aber jede 
Menge gängiger Binärcodierungen. Wenn konkret das Dualsystem (genau wie 
Dezimal, nur eben ausschließlich mit Ziffern 0 und 1) gemeint ist, ist 
das da richtig:

Johann L. schrieb:
> => -2,375 in Binärdarstzellung ist -10,011

Wen das Vorzeichen z.B. über das in Prozessoren gängige Zweierkomplement 
enthalten sein soll, hängt es davon ab, wieviele Bits zur Verfügung 
stehen. In IEE 754 sieht das Ergebnis dann wiederum ganz anders aus. 
Aber alle Varianten sind binär.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.