Module: Opérations sur les bits (C++)


Problem

6/13

Déterminer le signe d'un nombre

Theory Click to read/hide

Opérations sur les bits

Tous les nombres dans la mémoire de l'ordinateur sont stockés sous forme binaire, c'est-à-dire sous la forme d'une séquence de 0 et de 1. Pour stocker des nombres dans la mémoire de l'ordinateur, un nombre fini de bits est utilisé. En raison de ce nombre, l'ordinateur a une plage limitée et les résultats des calculs peuvent être inexacts. Un entier peut être stocké sur 8, 16, 32 ou 64 bits de mémoire. Chaque bit supplémentaire élargit la plage de valeurs possibles de 2. 
Les opérations avec des nombres positifs et négatifs sont effectuées dans le processeur en utilisant les mêmes algorithmes.

À l'aide d'opérations logiques au niveau du bit, vous pouvez contrôler des bits individuels des registres du processeur et des périphériques externes. 
 
Opération C++ Destination
un & ; b Et au niveau du bit pour a et b
a | b OR au niveau du bit pour a et b
a ^ b OU pour a et b
~a Inversion de bits pour a
un << b Décalage bit à gauche de a à b
a >> b Décalage binaire à droite de a vers b



Opération ET
Grâce à l'opération "ET" vous pouvez réinitialiser (mettre à zéro) les bits dont le masque est 0 ! 
 
Masque – une constante qui définit la portée de l'opération logique sur les bits d'un nombre multi-bits.

D - données, M - masque

 

Opération OU
L'opération "OR" permet d'écrire un 1 sur les bits dont le masque est 1 !

 

Opération OU exclusif
En utilisant l'opération "XOR" vous pouvez inverser les bits dont le masque est 1 !


 

Décalage à gauche
Un décalage vers la gauche logique (au niveau du bit) de 1 bit double un entier positif.

 

Décalage vers la droite
Booléen (au niveau du bit) .décalage vers la droite de 1  ; divise un entier positif par 2.


Puisqu'un décalage vers la droite positionne le bit de signe sur des positions vacantes, le signe de x peut être déterminé en décalant vers la droite toute la longueur de la variable.

Problem

Donner le nombre x. Déterminer le signe du nombre.

Ajoutez le morceau de code manquant au programme.
 
Exemples
# Entrée Sortie
1 10 1
2 -10 -1
3 0 0