Maison  >  Article  >  Le numéro de machine est-il le code original ou le code complément ?

Le numéro de machine est-il le code original ou le code complément ?

青灯夜游
青灯夜游original
2022-11-18 14:22:4616745parcourir

Le numéro de machine est à la fois le code original et le code complément. Les nombres binaires signés représentés dans les ordinateurs sont appelés numéros de machine. Les nombres de machines comprennent trois représentations : le code original, le complément à un et le complément. Le code d'origine est un nombre binaire avec un bit de signe ajouté. Le bit de signe d'un nombre positif est 0, le bit de signe d'un nombre négatif est 1 et le bit de signe est le bit le plus élevé. code original, et le complément d'un nombre négatif est le bit de signe, les autres bits sont inchangés, et les autres bits sont inversés ; le complément d'un nombre positif est son code original, et le complément d'un nombre négatif est le complément +. 1.

Le numéro de machine est-il le code original ou le code complément ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, ordinateur Dell G3.

1. Numéro de machine


Après avoir compris le numéro de machine, nous avons constaté que le numéro de machine comprend la représentation du « code source », du « code inverse » et du « code complémentaire »

car le numéro de machine ; fait référence à un nombre Sous forme de représentation binaire dans les ordinateurs, le premier bit du numéro de machine est le bit de signe des nombres positifs est "0" et le bit de signe des nombres négatifs est "1".

Par exemple : le numéro de machine de 5 est : 00000101

-Le numéro de machine de -5 est : 10000101 (en prenant comme exemple le binaire 8 bits)

Et "code source", "code inverse" et "complément code" ont la même forme de représentation, leur relation sera présentée en détail ensuite.

2.Vraie valeur


La vraie valeur fait référence à la valeur réelle correspondant au numéro de machine avec bit de signe.

Les vraies valeurs sont généralement exprimées en notation décimale, mais peuvent également être exprimées en notation binaire. Les vraies valeurs sont rarement exprimées dans d'autres bases.

Par exemple : La vraie valeur de 10000101 = -0000101 = -5

La vraie valeur de 00000101 = +0000101 =+5

3 Le code d'origine

Le code d'origine est un nombre binaire avec un signe. bit ajouté, positif Le bit de signe d'un nombre est 0, le bit de signe d'un nombre négatif est 1 et le bit de signe est le bit le plus élevé. Ma compréhension personnelle est de convertir le "+" de la vraie valeur en 0 et le "-" en 1.

La représentation du code original est que le premier bit est le bit de signe plus la valeur absolue de la vraie valeur.

Par exemple : -000101 (vraie valeur) = 10000101 (code d'origine)

          00000101 (vraie valeur) = 00000101 (code d'origine)

Étant donné que le premier bit est le bit de signe, la plage du code d'origine en 8- Le bit binaire est :

11111111~01111111 C'est-à-dire -127~127

Le code original est la représentation la plus facile à comprendre et à calculer pour le cerveau.

4. Code complémentaire à un

Le complément à un d'un nombre positif est lui-même ; le complément à un d'un nombre positif est son code d'origine ; le complément à un d'un nombre négatif signifie que le bit de signe reste inchangé et les autres bits. sont inversés (0 devient 1, 1 passe à 0) Le code complémentaire à un d'un nombre négatif maintient le bit de signe inchangé et les bits restants sont inversés.

Le code inverse est basé sur le code d'origine. S'il s'agit d'un nombre positif, il est identique au code d'origine. S'il s'agit d'un nombre négatif, le premier signe reste inchangé et les valeurs restantes sont inversées.

Par exemple : 00000101 (code d'origine) = 00000101 (code inversé)

10000101 (code d'origine) = 11111010 (code inversé)

Le code inversé n'est pas facile à comprendre par le cerveau et est généralement converti en original code puis calculé.

5. Code complémentaire

Le code complémentaire est basé sur le code d'origine, s'il s'agit d'un nombre positif, il est le même que le code d'origine, à l'exception du premier symbole, le reste. les valeurs sont inversées (code inversé). +1 basé sur cela.

Par exemple : 00000101 (code original) = 00000101 (code inversé) = 00000101 (code complémentaire)

10000101 (code original) = 11111010 (code inversé) = 10000011 (code complémentaire)

Pour les nombres négatifs, les deux le complément de La représentation est également Si le cerveau humain ne peut pas voir intuitivement sa valeur, elle doit généralement être convertie en code original, puis sa valeur est calculée.

6. Le processus d'utilisation du code original, du code complémentaire et du code complémentaire


Il est facile à comprendre en utilisant uniquement le code original, mais pour que les ordinateurs distinguent le premier bit positif et négatif, cela consomme beaucoup de ressources. , les gens ont donc découvert l'utilisation de symboles Bits impliqués dans les opérations.

Nous savons que selon l'algorithme, soustraire un nombre positif équivaut à ajouter un nombre négatif, soit : 1-1 = 1 + (-1) = 0, donc la machine ne peut qu'ajouter mais pas soustraire, donc la conception des opérations informatiques est plus simple.

Plan d'exploration 1.0 (code d'origine) :

1+ (-1) = 0

00000001 (code d'origine) + 10000001 (code d'origine) = 10000010 (code d'origine) = -2

Explorez le code d'origine pour calculer l'échec du plan First Place

Investissement supplémentaire !

La version 2.0 du plan d'exploration est publiée (code inverse) :

00000001 (code original) + 10000001 (code original) = 00000001 (code inverse) + 11111110 (code inverse) = 11111111 (code inverse) = 10000000 (code original) = -0

Description de la mise à jour : Résolution du problème du premier symbole participant à l'opération, ce qui réduit considérablement les ressources consommées par l'ordinateur pour les opérations binaires. Cependant, il existe une situation où "0" et "-0" sont répétés. , et cela peut être amélioré !

La version 3.0 du plan d'exploration est publiée (code complémentaire) :

00000001 (code original) + 10000001 (code original) = 00000001 (code inversé) + 11111110 (code inversé) = 00000001 (code complémentaire) + 11111111 (code complémentaire) = 00000000 (code complémentaire) = 00000000 (code d'origine) = 0

Ajouter : (-1) + (-127) = (-128)

10000001 (code d'origine) + 11111111 (code d'origine) = 11111110 (code inversé ) +10000000 (son complément) = 11111111 (son complément) +10000001 (son complément) = 10000000 (son complément) = -128

Description de la mise à jour : Résolution d'un binaire "-0" dénué de sens qui existait dans la version 2.0, pour le binaire Le la plage a été encore étendue de la version 1.0 (-127~127) à (-128~127). Le même principe peut également être utilisé pour d'autres bits binaires. Par exemple : int a 4 octets et 32 ​​bits, et la plage représentée est. (- 2^31~2^31-1)

Étant donné que la version 3.0 est plus conforme au concept de protection de l'environnement, c'est le meilleur choix pour le stockage binaire informatique.

Pour plus de connaissances connexes, veuillez visiter la rubrique

FAQ

 !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn