Je viens de commencer à apprendre sur le fonctionnement bit par bit et je veux demander pourquoi et 1 (& 1) bitwise retourne toujours 0 ou 1.Pourquoi et 1 (et 1) opération bitwise retourne toujours 0 ou 1
1
A
Répondre
6
0 & 0 === 0
0 & 1 === 0
1 & 0 === 0
1 & 1 === 1
donc un nombre & 1 aura toujours 0 ou 1
en binaire ... un nombre
xxxxxxxxxxxxx0
ou
xxxxxxxxxxxxx1
où x peut être 0 ou 1
1 en binaire est
00000000000001
si
xxxxxxxxxxxxx1 &
00000000000001 ==
00000000000001
xxxxxxxxxxxxx0 &
00000000000001 ==
00000000000000
0
Lorsque vous effectuez a & 1
il vaudra toujours 0 ou 1 en fonction du dernier chiffre binaire d'un.
Règles:
0 & 0 = 0
0 & 1 = 0
1 & 1 = 1
Par exemple:
a = 5 //5 = 0101
b = a & 1 = 1 //(0101 & 0001)
a = 6 //6 = 0110
b = a & 1 = 0 //(0110 & 0001)
0
Ceci est une opération de bit. Supposons que vous preniez 2 & 1. Ce serait 10 et 01 en binaire. Bitwise ET donnera 00. Les opérations BitWise avec 1 donneront 1 ou 0 toujours parce que 1 n'a que la place d'une unité significative en binaire. Il ne peut donc renvoyer aucune valeur autre que 0 ou 1.
Qu'entendez-vous par "opération de bit 1 (& 1)"? – BoltClock
Je veux dire n'importe quel nombre quand et avec 1 juste retourner la valeur 0 ou 1 (a & 1) –
Qu'attendez-vous qu'il retourne? 'x & 1' renvoie' 1' si le bit le moins significatif de 'x' est' 1' sinon '0'. '1 & 1 = 1',' 0 & 1 = 0'. C'est ainsi que l'opérateur est défini. –