Comment les nombres négatifs sont-ils représentés dans un entier signé 32 bits?
Comment sont négatifs nombre représenté en entier signé 32 bits?
Est-il deux ou complément? ou le dernier bit de gauche est comme un drapeau?
Par exemple: (-10)
source d'informationauteur Ahmad Farid
Vous devez vous connecter pour publier un commentaire.
La plupart des ordinateurs, ces jours-ci l'utilisation en complément à deux pour les entiers signés, mais elle peut varier en fonction de l'architecture matérielle, langage de programmation, ou autre plate-forme de questions spécifiques.
Pour un complément à deux de la représentation, le plus significatif ("gauche") bits est appelé le bit de signeet il sera définie par un nombre entier négatif et clair pour un entier non négatif. Cependant, il est plus que juste un "drapeau". Voir la Article de Wikipedia pour plus d'informations.
Généralement c'est deux-complément de.
Du standard C99:
Je pense que la réponse est
0110
précédé par 1 répétées 28 fois, donc il ressemble:1111 1111 1111 1111 1111 1111 1111 0110;
Suit:
représentation binaire de 10:
0000 0000 0000 0000 0000 0000 0000 1010;
0->1
et1->0
pour tous les bits:1111 1111 1111 1111 1111 1111 1111 0101;
ajouter 1 à la dernière bits, et se propager à la peu en avance, en fait!
1111 1111 1111 1111 1111 1111 1111 0110;
===
Vous pouvez le vérifier en l'ajoutant à 10, et vous obtiendrez 0 pour tous les bits. Comme mentionné ci-dessus, il est 2-basé et suit en complément à deux.
& donc sur
Le bit le plus significatif (dernière peu sur la gauche) est l'ensemble des nombres négatifs.