Heim >häufiges Problem >Ist die Maschinennummer der Originalcode oder der Komplementärcode?

Ist die Maschinennummer der Originalcode oder der Komplementärcode?

青灯夜游
青灯夜游Original
2022-11-18 14:22:4616819Durchsuche

Die Maschinennummer ist sowohl der Originalcode als auch der Ergänzungscode. Die in Computern dargestellten vorzeichenbehafteten Binärzahlen werden Maschinenzahlen genannt. Maschinenzahlen umfassen drei Darstellungen: Originalcode, Einerkomplement und Komplement. Der ursprüngliche Code ist eine Binärzahl mit einem hinzugefügten Vorzeichenbit. Das Vorzeichenbit einer positiven Zahl ist 0, das Vorzeichenbit einer negativen Zahl ist 1 und das Vorzeichenbit ist das höchste Bit einer positiven Zahl Originalcode und das Komplement einer negativen Zahl ist das Vorzeichenbit. Die anderen Bits bleiben unverändert, und das Komplement einer positiven Zahl ist ihr Originalcode, und das Komplement einer negativen Zahl ist das Komplement + 1.

Ist die Maschinennummer der Originalcode oder der Komplementärcode?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Dell G3-Computer.

1. Maschinennummer


Nachdem wir die Maschinennummer verstanden hatten, stellten wir fest, dass die Maschinennummer die Darstellung von „Quellcode“, „Reverse-Code“ und „Komplementcode“ enthält bezieht sich auf eine Zahl. In der Binärdarstellung in Computern ist das erste Bit der Maschinennummer das Vorzeichenbit. Das Vorzeichenbit positiver Zahlen ist „0“ und das Vorzeichenbit negativer Zahlen ist „1“.

Zum Beispiel: Die Maschinennummer von 5 ist: 00000101

-Die Maschinennummer von -5 ist: 10000101 (am Beispiel einer 8-Bit-Binärdatei)

Und „Quellcode“, „Inverscode“ und „Komplement“. Code" haben die gleiche Darstellungsform, ihre Beziehung wird im Folgenden im Detail vorgestellt.

2.Wahrer Wert


Der wahre Wert bezieht sich auf den realen Wert, der der Maschinennummer mit Vorzeichenbit entspricht.

Wahre Werte werden im Allgemeinen in Dezimalschreibweise ausgedrückt, können aber auch in Binärschreibweise ausgedrückt werden, seltener in anderen Basen.

Zum Beispiel: Der wahre Wert von 10000101 = -0000101 = -5

Der wahre Wert von 00000101 = +0000101 =+5

3 Der Originalcode

Der Originalcode ist eine Binärzahl mit Vorzeichen Bit hinzugefügt, positiv Das Vorzeichenbit einer Zahl ist 0, das Vorzeichenbit einer negativen Zahl ist 1 und das Vorzeichenbit ist das höchste Bit. Mein persönliches Verständnis besteht darin, „+“ im wahren Wert in 0 und „-“ in 1 umzuwandeln.

Die Darstellung des Originalcodes besteht darin, dass das erste Bit das Vorzeichenbit plus den absoluten Wert des wahren Werts ist.

Zum Beispiel: -000101 (wahrer Wert) = 10000101 (Originalcode)

        00000101 (wahrer Wert) = 00000101 (Originalcode)

Da das erste Bit das Vorzeichenbit ist, beträgt der Bereich des Originalcodes 8- Bit-Binär ist:

11111111~01111111 Das ist -127~127

Der Originalcode ist die Darstellung, die für das Gehirn am einfachsten zu verstehen und zu berechnen ist.

4. Das Einserkomplement einer positiven Zahl ist sein ursprünglicher Code; das Einserkomplement einer negativen Zahl bedeutet, dass das Vorzeichenbit unverändert bleibt werden invertiert (0 wird zu 1, 1 wird zu 0). Der Einserkomplementcode einer negativen Zahl behält das Vorzeichenbit unverändert bei und die übrigen Bits werden invertiert.

Der inverse Code basiert auf dem Originalcode. Wenn es sich um eine positive Zahl handelt, bleibt das erste Vorzeichen unverändert und die restlichen Werte werden invertiert.

Zum Beispiel: 00000101 (Originalcode) = 00000101 (Reverse-Code)

10000101 (Originalcode) = 11111010 (Reverse-Code)

Reverse-Code ist für das Gehirn nicht leicht zu verstehen und wird normalerweise in das Original umgewandelt Code eingegeben und dann berechnet.

5. Komplementcode

Wenn es sich um eine positive Zahl handelt, ist es mit Ausnahme des ersten Symbols dasselbe wie der Originalcode Werte werden invertiert (invertierter Code +1 basierend darauf).

Zum Beispiel: 00000101 (Originalcode) = 00000101 (Umkehrcode) = 00000101 (Ergänzungscode)

10000101 (Originalcode) = 11111010 (Umkehrcode) = 10000011 (Ergänzungscode)

Für negative Zahlen gilt: Zweierkomplement Darstellung ist auch Wenn das menschliche Gehirn seinen Wert nicht intuitiv erkennen kann, muss er normalerweise in den Originalcode umgewandelt und dann sein Wert berechnet werden.

6. Der Prozess der Verwendung von Originalcode, Umkehrcode und Komplementärcode

Es ist leicht zu verstehen, wenn nur der Originalcode verwendet wird, aber für Computer ist es sehr ressourcenintensiv, das erste Bit vom positiven und negativen zu unterscheiden , also fanden die Leute die Verwendung von Symbolen Bits, die an Operationen beteiligt sind.


Wir wissen, dass gemäß dem Algorithmus das Subtrahieren einer positiven Zahl dem Addieren einer negativen Zahl entspricht, das heißt: 1-1 = 1 + (-1) = 0, sodass die Maschine nur addieren, aber nicht subtrahieren kann Das Design von Computeroperationen ist einfacher.

Explorationsplan 1.0 (Originalcode):

1+ (-1) = 0

00000001 (Originalcode) + 10000001 (Originalcode) = 10000010 (Originalcode) = -2

Erkunden Sie den Originalcode zur Berechnung das Scheitern des First-Place-Plans

Zusätzliche Investition!

Explorationsplan Version 2.0 ist veröffentlicht (Reverse-Code):

00000001 (Originalcode) + 10000001 (Originalcode) = 00000001 (Reverse-Code) + 11111110 (Reverse-Code) = 11111111 (Reverse-Code) = 10000000 (Originalcode) = -0

Beschreibung aktualisieren: Das Problem, dass das erste Symbol an der Operation teilnimmt, wurde behoben, wodurch die vom Computer für Binäroperationen verbrauchten Ressourcen erheblich reduziert wurden. Es gibt jedoch eine Situation, in der „0“ und „-0“ wiederholt werden , und das kann verbessert werden!

Explorationsplan Version 3.0 ist veröffentlicht (Komplementärcode):

00000001 (Originalcode) + 10000001 (Originalcode) = 00000001 (Reverse-Code) + 11111110 (Reverse-Code) = 00000001 (Komplementärcode) + 11111111 mentary code) = 00000000 (Ergänzungscode) = 00000000 (Originalcode) = 0

Anhängen: (-1) + (-127) = (-128)

10000001 (Originalcode) + 11111111 (Originalcode) = 11111110 (Umkehrcode ) +10000000 (Einzelkomplement) = 11111111 (Einzelkomplement) +10000001 (Einzelkomplement) = 10000000 (Einzelkomplement) = -128

Update-Beschreibung: Eine bedeutungslose Binärdatei „-0“ wurde in Version 2.0 behoben, was für Binärdateien korrekt ist Der Bereich wurde von Version 1.0 (-127~127) auf (-128~127) weiter erweitert. Das gleiche Prinzip kann auch für andere Bit-Binärdateien verwendet werden. Beispiel: int hat 4 Bytes und 32 Bits und der dargestellte Bereich ist (- 2^31~2^31-1)

Da Version 3.0 eher dem Konzept des Umweltschutzes entspricht, ist sie die beste Wahl für Computerspeicherbinärdateien.

Weitere Informationen zu diesem Thema finden Sie in der Spalte „FAQ

“!

Das obige ist der detaillierte Inhalt vonIst die Maschinennummer der Originalcode oder der Komplementärcode?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn