Chociaż jest już dość późno, aby odpowiedzieć teraz, istnieje prosty sposób, aby sprawdzić, czy N-ty bit jest ustawiony, czy nie, po prostu za pomocą operatorów matematycznych POWER i MODULUS.
Powiedzmy, że chcemy wiedzieć, czy „temp” ma ustawiony N-ty bit, czy nie. Poniższe wyrażenie boolowskie da wartość true, jeśli bit jest ustawiony, 0 w przeciwnym razie.
- (moduł temp. 2 ^ N + 1> = 2 ^ N)
Rozważmy następujący przykład:
- int temp = 0x5E; // binarnie 0b1011110 // BIT 0 to LSB
Jeśli chcę wiedzieć, czy 3. bit jest ustawiony, czy nie, otrzymuję
- (94 MODULUS 16) = 14> 2 ^ 3
Zatem wyrażenie zwraca prawdę, wskazując, że ustawiono trzeci bit.