Ich bin nach diesem Tutorial: https://www.tutorialspoint.com/cprogramming/c_bitwise_operators.htm https://www.tutorialspoint.com/cprogramming/c_operators.htmBit Flipping - Wie lautet die Antwort -61?
Ich bin verwirrt, wie A, die beginnt als: A = 0011 1100 (60 dezimal) werden kann, -61, wenn alle Bits mit dem Operator ~ gekippt werden.
Ich verstehe, dass ~A
wird: 1100 0011. Aus meinen Berechnungen ist diese Binärzahl 1100 0011 195 in Dezimal. Die Antwort lautet jedoch -61 in der Basis zehn, entsprechend der Programmiersprache c und dem Tutorial.
Könnte mir bitte jemand helfen, zu verstehen?
Vielen Dank für das Lesen dieser Frage.
195-256 = -61: Zweier-Komplement auf einem 8-Bit-Typ –
Bitte zeigen Sie den genauen Code, den Sie laufen, damit wir versuchen können, das Problem zu reproduzieren, anstatt Raten. – merlin2011
Dies sollte nicht überraschend sein, da (per Definition) "-x = ~ x + 1" und daher "~ x = -x - 1" – harold