0
votes

Quelle est la négation binaire pour un entier?

J'ai des devoirs d'affectation avec une pièce pour calculer la négation binaire de la valeur entière. Il dit 512 aller dans -513.

J'ai une solution qui fait x = 512 y = 512 * (- 1) + (- 1) .

est-ce correct?


0 commentaires

3 Réponses :


0
votes

Cette propriété est basée sur la manière dont le nombre négatif est représenté dans le complément de deux. Pour représenter un nombre négatif $ A $ sur n bits, on utilise le complément de | a | à 2 n , c'est-à-dire le numéro 2 n - | a |

Il est facile de voir que a + ~ a = 111 ... 11 Comme les bits en ajoutant seront toujours 0 et 1 et 111 ... 111 est le nombre juste avant 2 n ou 2 n -1.

As - | a | est codé par 2 n - | a |, et a + ~ a = 2 n -1, on peut dire que - a = ~ a +1 ou équivalent ~ Un = - a -1

Ceci est vrai pour tout nombre, positif ou négatif. Et ~ 512 = -512-1 = -513


0 commentaires

0
votes

Je pense que vous devez d'abord nier et ajouter 1. xxx

par conséquent xxx


0 commentaires

0
votes
y = -(512+1)
print (y)

0 commentaires