Bitwise AND
Bitwise EN is Waar slechts als beide beetjes worden geplaatst. Het volgende voorbeeld toont het resultaat van a EN op aantallen 23 en 12 bitwise.
10111 (23)
01100 (12) AND
____________________
00100 (result = 4) |
U kunt een te controleren maskerwaarde gebruiken als bepaalde beetjes zijn geplaatst. Als wij wilden controleren of beetjes 1 en 3 werden geplaatst, konden wij het aantal met 10 maskeren (de waarde als beetjes 1 en 3) en test het resultaat tegen het masker.
#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;
}
Bitwise OR
Bitwise OF is waar als één van beide beetjes worden geplaatst. De volgende shows het resultaat van a bitwise OF op aantallen 23 en 12.
10111 (23)
01100 (12) OR
______________________
11111 (result = 31) |
U kunt een masker gebruiken om een beetje te verzekeren of de beetjes zijn geplaatst. Het volgende voorbeeld garandeert beetje 2 wordt geplaatst.
#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;
}
|