ビットごとに
ビットが両方とも置かれるときだけビットごとに本当があり。 次の例はaのそして第23および12の結果をビットごとに示したものだ。
10111 (23)
01100 (12) AND
____________________
00100 (result = 4) |
マスクのある特定のビットが置かれたかどうか確認するのに価値を使用できる。 ビット1および3は置かれたかどうか確認したいと思ったら、私達は10の数を(価値ビットなら1および3)覆い、マスクに対して結果をテストしてもよい。
#include <stdio.h>
int main()
{
int num, mask = 10;
printf("Enter a number: ");
scanf("%d", &num);
if ((num & mask) == mask)
puts("Bits 1 and 3 are set");
else
puts("Bits 1 and 3 are not set");
return 0;
}
ビットごとにまたは
どちらかのビットが置かれればビットごとにまたは本当がある。 次のショーaのビットごとにまたは第23および12の結果。
10111 (23)
01100 (12) OR
______________________
11111 (result = 31) |
ビット置かれたことを保障するのにマスクを使用できる。 次の例はビット2が置かれることを保障する。
#include <stdio.h>
int main()
{
int num, mask = 4;
printf("Enter a number: ");
scanf("%d", &num);
num |= mask;
printf("After ensuring bit 2 is set: %d\n", num);
return 0;
}
|