1.Code d'origine
Le bit le plus élevé est utilisé comme bit de signe (0 représente positif, 1 représente négatif) et les bits restants représentent la valeur absolue de la valeur elle-même (exprimée en binaire).
Pour plus de simplicité, nous utilisons 1 octet pour représenter un entier.
Le code d'origine de +7 est : 00000111
Le code d'origine de -7 est : 10000111
2. Code inversé
Si un nombre est positif, son complément est le même que le code d'origine ; si un nombre est négatif, le bit de signe est 1 et les bits restants sont l'inversion du code d'origine.
Pour plus de simplicité, nous utilisons 1 octet pour représenter un entier :
Le complément de +7 est : 00000111
Le complément de -7 est : 11111000
3. Code complémentaire
Code complémentaire : si un nombre est positif, son code d'origine, son code complémentaire et son complément sont les mêmes ; si un nombre est négatif, le bit de signe est 1 et les bits restants sont l'inversion du code d'origine, puis l'intégralité. le nombre est ajouté par 1. Pour plus de simplicité, nous utilisons 1 octet pour représenter un entier :
Le complément de +7 est : 00000111
Le complément de -7 est : 11111001
Étant donné le complément d’un nombre négatif, convertissez-le en nombre décimal. Étapes :
1. Premièrement, je vais vous contredire ;
2. Convertissez-le en nombre décimal ;
3. Ajoutez le signe négatif et soustrayez 1.
Par exemple:
11111010, le bit le plus élevé est 1, qui est un nombre négatif. Annulez d'abord chaque bit pour obtenir 00000101, convertissez-le en nombre décimal pour obtenir 5, ajoutez un signe négatif pour obtenir -5, puis soustrayez 1 pour obtenir -6.
Pourquoi est-ce un nombre négatif lorsque je convertis int a=232 en type octet ? ? ?