0

Ich habe Schwierigkeiten zu verstehen, warum die folgende binäre Subtraktion das Ergebnis gibt, dass es tut. Ich bekomme immer eine andere Antwort. Ich versuche, 0,1-x so zu berechnen, dass x 0,00011001100110011001100 ist. Die Antwort sollte lauten: 0,00000000000000000000000001100 [1100] ... (1100 wiederholt sich) Wenn ich es mache, bekomme ich am Anfang immer 1100.fraktionale binäre Subtraktion

Was mache ich nicht richtig?

+0

Was hast du probiert? Was genau ist deine Antwort? Warum sollte die Antwort sich wiederholen? –

+0

Woher weißt du, dass es die Antwort ist, die es sein sollte? Das ist nicht nah an der Antwort, die ich bekomme. –

+0

Addieren Sie zusammen Ihre 'Antwort sollte sein' und Ihr gegebenes 'x'. Hast du '0.1'? Was sagt das über Ihre vorgeschlagene "Antwort" aus? – AakashM

Antwort

0

Ich denke, dass Ihre erwartete Antwort falsch ist. Hier ist meine Lösung. Ich werde die Bits in Nybbles gruppieren, damit es lesbar aussieht.

0.1000 0000 0000 0000 0000 0000 <- added zero to the rightmost to fill in the nybble 
- 0.0001 1001 1001 1001 1001 1000 <- added zero to the rightmost to fill in the nybble 
_________________________________ 

das Komplement 0.0001 1001 1001 1001 1001 1000 des 2 erhalten.

1.1110 0110 0110 0110 0110 0111 (1's complement) 
+ 0.0000 0000 0000 0000 0000 0001 
_________________________________ 
    1.1110 0110 0110 0110 0110 1000 (2's complement) 

Fügen Sie das Zweierkomplement zu 0.1 hinzu.

0.1000 0000 0000 0000 0000 0000 
+ 1.1110 0110 0110 0110 0110 1000 
_________________________________ 
10.0110 0110 0110 0110 0110 1000 

Da der Überlauf 1 ist, ignorieren sie. Es bedeutet nur, dass die endgültige Antwort eine positive Zahl ist, da 0.1 größer ist als 0.0001 1001 1001 1001 1001 1000. Daher ist die endgültige Antwort 0.011001100110011001101000.