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
Jürgen schrieb: > Jetzt soll ich die Zahle auf 4 Bit reduzieren. Einmal durch runden auf welche? bei einer echten Rundung braucht es einen Überlaufschutz
Jürgen schrieb: > Ich habe 8 Bit dafür. > > 0.101 000 Das sind keine 8 Bit Jürgen schrieb: > Jetzt soll ich die Zahle auf 4 Bit reduzieren. Jürgen schrieb: > Meiner Logik nach bleiben > danach noch 0.101 über. Das sind keine 4 Bit
Jürgen schrieb: > ... > 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. > ... Was heisst "die Ausgabe"? Wie rechnest du das? Wenn du die gleiche Rechenschritte anwendest sind 0.101000 und 0.101 gleich (2^-1 + 2^-3). Gruß
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.