1.Originalcode
Das höchste Bit wird als Vorzeichenbit verwendet (0 steht für positiv, 1 steht für negativ), und die übrigen Bits stellen den absoluten Wert des Werts selbst dar (ausgedrückt in Binärform).
Der Einfachheit halber verwenden wir 1 Byte zur Darstellung einer Ganzzahl.
Der ursprüngliche Code von +7 lautet: 00000111
Der ursprüngliche Code von -7 lautet: 10000111
2.Reverse-Code
Wenn eine Zahl positiv ist, ist ihr Komplement das gleiche wie der Originalcode; wenn eine Zahl negativ ist, ist das Vorzeichenbit 1 und die restlichen Bits sind die Umkehrung des Originalcodes.
Der Einfachheit halber verwenden wir 1 Byte zur Darstellung einer Ganzzahl:
Das Komplement von +7 ist: 00000111
Das Komplement von -7 ist: 11111000
3. Komplementcode
Komplementcode: Wenn eine Zahl positiv ist, sind ihr Originalcode, ihr Komplementcode und ihr Komplement gleich. Wenn eine Zahl negativ ist, ist das Vorzeichenbit 1 und die verbleibenden Bits sind die Umkehrung des Originalcodes und dann das Ganze Zahl wird um 1 addiert. Der Einfachheit halber verwenden wir 1 Byte zur Darstellung einer Ganzzahl:
Das Komplement von +7 ist: 00000111
Das Komplement von -7 ist: 11111001
Konvertieren Sie das Komplement einer negativen Zahl in eine Dezimalzahl. Schritte:
1. Erstens werde ich Ihnen widersprechen;
2. Konvertieren Sie es in eine Dezimalzahl.
3. Addieren Sie das negative Vorzeichen und subtrahieren Sie 1.
Zum Beispiel:
11111010, das höchste Bit ist 1, was eine negative Zahl ist. Negieren Sie zunächst jedes Bit, um 00000101 zu erhalten, konvertieren Sie es in eine Dezimalzahl, um 5 zu erhalten, fügen Sie ein negatives Vorzeichen hinzu, um -5 zu erhalten, und subtrahieren Sie dann 1, um -6 zu erhalten.
Warum ist es eine negative Zahl, wenn ich int a=232; in den Bytetyp umwandele? ? ?