Contenu
Parce que le système de nombres binaires n'a que deux symboles - 1 et 0 - représentant des nombres négatifs, ce 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 proposera trois solutions à ce problème.
Utilisez un bit de signe
Sélectionnez le nombre de bits que vous utiliserez pour représenter vos nombres binaires. Un nombre de huit bits a longtemps été utilisé comme norme. C'était la taille originale pour un entier en programmation informatique. Bien sûr, il existe aussi 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.
Ecrivez votre nombre négatif en utilisant les huit bits. Par conséquent, le nombre -5 serait écrit comme 10000101.
Utiliser 1s Compliment
Écrivez le nombre en binaire comme vous le feriez s'il était positif. Encore une fois, écrivez 5 comme 00000101, en supposant que nous utilisions des entiers de huit bits.
Inverser les chiffres - c'est-à-dire. Les 1 vont à 0 et les 0 vont à 1. Par conséquent, 5 devient 11111010.
Utilisez le bit le plus à gauche comme bit de signe. Ainsi, tout comme pour l’utilisation d’un bit de signe, les nombres positifs auront tous un bit d’entête 0 (lorsqu’ils seront écrits au format 8 bits), tandis que tous les nombres négatifs contiendront un 1 en tête. Pour utiliser le nombre, utilisez l’information du bit de signe chiffres en arrière pour la valeur numérique.
Utiliser 2s Compliment
É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 complément 1. Donc, encore une fois, 5 devient 11111010.
Ajoutez 1 à votre numéro. Donc 5 devient 11111010 + 00000001 = 11111011.
Vérifie ta réponse. Le nombre 11111011 serait reconverti en base 10: -128 + 64 + 32 + 16 + 8 + 0 + 2 + 1 = -5.