Quand (i-3)&3
est-il vrai? Je l'ai trouvé ici: https://github.com/thewizard6296/SPOJ_CODE/blob/c03c5900b6a22389a3acf2ddf3ff76f230bcb358/CZ_PROB1.cppQuand cette expression Bitwise est-elle vraie?
-1
A
Répondre
1
Considérons ce que "3" est en binaire 4 bits.
0011
Pour un nombre x, lorsque l'expression est "x 3 &" true (à savoir, non nulle)? C'est vrai quand x a 1s dans l'une ou l'autre de ses deux positions de bit les moins significatives. Quand un nombre n'a-t-il pas 1 dans l'une ou l'autre de ses deux positions de bit les moins significatives? Considérons multiples de 4:
4: 8: 12: etc...
0011 0011 0011
& 0100 & 1000 & 1100
---- ---- ----
0000 0000 0000
TL; DR (i - 3) 3 & évalue à vrai lorsque (i - 3) ne soit pas un multiple de 4.
Lorsque i '- 3' est pas un multiple de 4 – harold
Veuillez accepter la réponse si elle répond à votre question. L'acceptation de la réponse vous donnera +2 points de réputation. –