Binärzahlen runden, abschneiden, betragsschneiden

Gast #4195950
Lesenswert?

Hallo,

ich habe ein theoretisches Problem:

Ich habe die Zahl 5/8 (=0,625) im Zweikomplement-Fractional-Format 
gegeben. Ich habe 8 Bit dafür.

0.101 000

Kein Vorzeichen, dann 2^-1 +2^-3 = 1/2 + 1/8 = 5/8 = 0,625.

Jetzt soll ich die Zahle auf 4 Bit reduzieren. Einmal durch runden 
round(), einmal durch Wertschneiden floor() und einmal mittels 
betragsschneiden fix().

Ich sollte aber auch noch verstehen, was dabei passiert.

Ich habe mal mit wertschneiden angefangen. Meiner Logik nach bleiben 
danach noch 0.101 über. Das entspricht aber immer 5/8. Die Ausgabe sagt 
mir aber 1/2.

Weiß einer weiter?

Danke und beste Grüße,
Jürgen

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren