Grundlegende Einführung in Python: negative Binärzahlen

Ich habe gerade die bitweisen Operatoren vorgestellt, bei denen es sich um binäre Operationen handelt. Es gibt Berechnungen von a = 60, ~a = 1100 0011 = -61, daher zeichnen wir hier die Darstellung und Berechnung negativer Zahlen im Binärformat auf.

Binär ist ein in der Computertechnologie weit verbreitetes Zahlensystem. Binärdaten sind eine Zahl, die durch zwei Ziffern, 0 und 1, dargestellt wird.

Seine Basis ist 2, die Übertragsregel lautet „jede Zwei wird zu Eins weitergeleitet“ und die Entlehnungsregel lautet „Eins ausleihen, um gleich zwei zu sein“, die von Leibniz, dem deutschen Meister der mathematischen Philosophie im 18. Jahrhundert, entdeckt wurde. Das aktuelle Computersystem verwendet im Wesentlichen ein Binärsystem, und Daten werden hauptsächlich in Form von Zweierkomplementcodes in Computern gespeichert. Das Binärsystem im Computer ist ein sehr kleiner Schalter, wobei „Ein“ für 1 und „Aus“ für 0 steht.

Im Binärcode ist das höchste Bit das Vorzeichenbit zur Unterscheidung positiver und negativer Zahlen. Das Vorzeichenbit positiver Zahlen ist 0 und das Vorzeichenbit negativer Zahlen ist 1. Um eine negative Zahl binär darzustellen, nehmen Sie einfach das Komplement jedes Bits der positiven Zahl im Originalcode und addieren Sie dann 1 zum letzten Bit der resultierenden Zahl, dann erhalten Sie das Komplement der negativen Zahl. Das Finale Komplement ist die binäre Darstellung der negativen Zahl. Dies wird als „umkehren und 1 addieren“ bezeichnet.

Beispielsweise stellt die Ganzzahl -1 eine vorzeichenbehaftete Zahl im 8-Bit-Binärformat dar. Positive Zahl: 0000 0001, Negation: 1111 1110, Komplement: 1111 1111, also -1 = 1111 1111. Haben Sie etwas gefunden?

Ja, Sie finden: positive Zahl + Komplement = 0, also 1 + (-1) = 0, es gibt kein Problem bei der Überprüfung.

Das Folgende wird anhand einer anderen 8-Bit-Binärmethode erläutert.

Dezimalzahlen werden in Computern binär gespeichert:

Dezimal + 0, binär 0000 0000;

Dezimal +1, 1 addieren, binär 0000 0001;

Dezimal +2, 1 addieren, binär 0000 0010;

......

Dezimal +127, 1 addieren...es ergibt 0111 1111;

Was tun mit negativen Zahlen? Beginnen Sie einfach bei 0 und verringern Sie der Reihe nach.

Die dezimale 0 wird als binäre 0000 0000 gespeichert.

Dezimal -1, subtrahiere 1, erhalte 1111 1111 = 255 (dezimal).

Dezimal -2, subtrahiere 1, wir erhalten 1111 1110 = 254.

Dezimal -3, subtrahiere 1, wir erhalten 1111 1101 = 253.

......

Dezimal -128, subtrahiere 1... um 1000 0000 = 128 zu erhalten.

Reduzieren Sie den Wert nicht weiter, dies ist der Mindestwert.

(Weiter subtrahieren, also 0111 1111, also +127.)

Daher ist die kleinste negative Zahl -128, die 10000000 speichert.

Zusammenfassen:

  Null und positive Zahlen: direkt binär gespeichert.

  Negative Zahl: Das Speicherformat ist: 256 (bei 8 Bit) + diese negative Zahl;

  Dieses Speicherformat ist das sogenannte Komplement, also negative Zahlen.

Wozu dient Komplement?

 Mithilfe des Zweierkomplementcodes kann die Subtraktionsoperation in eine Addition umgewandelt werden.

Beispiel: 6-2 = 4, die Zweierkomplementoperation lautet wie folgt:

    Die Darstellung von 6 ist 0000 0110

 Das Komplement von + -2 ist 1111 1110

-----------------

       (1) 0000 0100 (= 4er-Komplement)

 (Die 1 in der Klammer ist ein Übertrag, also verwerfen Sie ihn.)

Beachten:

 Wenn das Operationsergebnis den Bereich von -128 bis +127 überschreitet, ist das Ergebnis falsch.

 Dieses Phänomen wird als „Überlauf“ bezeichnet. Beachten Sie noch einmal: Übertrag ist nicht gleich Überlauf.

Aufgrund dieser Eigenschaft des Komplementcodes wird in Computern nur der Komplementcode zum Speichern von Daten verwendet.

Der Originalcode und der umgekehrte Code existieren jedoch nicht auf Computern. Der Zweck des Originalcodes und des Reverse-Codes besteht nur darin, „Berechnungen zu schreiben“.

Tatsächlich besteht die Methode der schriftlichen Berechnung nicht nur darin, „eins zu ersetzen und hinzuzufügen“. Darüber hinaus verfügt -128 über einen Komplementcode, es gibt jedoch keinen inversen Code zum Originalcode!

Daher können wir „umgekehrt plus eins“ nicht verwenden, um das Komplement von -128 zu finden. Daher besteht für alle keine Notwendigkeit, Zeit und Energie mit der Umkehrung des Originalcodes zu verschwenden.

Bitte beim Nachdruck angeben, vielen Dank~~

Supongo que te gusta

Origin blog.csdn.net/hbblzjy/article/details/121893988
Recomendado
Clasificación