Parce que le système de nombres binaires n'a que deux symboles - 1 et 0 - représentant des nombres négatifs n'est pas aussi simple que d'ajouter un signe moins devant. Il existe cependant des moyens simples de représenter un nombre négatif en binaire. Cet article propose trois solutions à ce problème.
Utiliser un bit de signe
Sélectionnez le nombre de bits que vous utiliserez pour représenter vos nombres binaires. Un nombre à huit bits est utilisé depuis longtemps comme standard. Il s'agissait de la taille d'origine d'un entier dans la programmation informatique. Bien sûr, il existe également des entiers longs (16 bits). Remarque: si vous utilisez un entier de huit bits, seuls sept bits seront utilisés pour représenter votre nombre réel.
Sélectionnez le bit le plus à gauche pour servir de bit de signe. Si le bit est 0, le nombre est positif. Si c'est 1, le nombre est négatif.
Écrivez votre nombre négatif en utilisant les huit bits. Par conséquent, le nombre -5 serait écrit comme 10000101.
Utilisation du complément 1s
Écrivez le nombre en binaire comme vous le feriez s'il était positif. Encore une fois, écrivez 5 comme 00000101, en supposant que nous utilisons des entiers de huit bits.
Inversez les chiffres - c'est-à-dire. Les 1 vont à 0 et les 0 à 1. Par conséquent, 5 devient 11111010.
Utilisez le bit le plus à gauche comme bit de signe. Ainsi, tout comme avec un bit de signe, les nombres positifs auront tous un bit de tête 0 (lorsqu'ils sont écrits au format 8 bits) tandis que tous les nombres négatifs contiendront un 1. de tête Pour utiliser le nombre, utilisez les informations de bit de signe et retournez le chiffres en arrière pour la valeur numérique.
Utilisation du complément 2s
Écrivez le nombre comme vous le feriez comme s'il était positif, en utilisant les huit bits. Donc 5 est 00000101.
Inversez les bits, en commutant les 1 et les 0 comme vous l'avez fait avec le compliment de 1. Donc, encore une fois, 5 devient 11111010.
Ajoutez 1 à votre numéro. Donc 5 devient 11111010 + 00000001 \u003d 11111011.
Vérifiez votre réponse. Le nombre 11111011 serait, reconverti en base 10: -128 + 64 + 32 + 16 + 8 + 0 + 2 + 1 \u003d -5.