Bitwise Exclusieve OR
Bitwise Exclusief OF is Waar als één van beide beetjes, maar niet allebei worden geplaatst. De volgende shows het resultaat van a bitwise Exclusief OF op aantallen 23 en 12.
10111 (23)
01100 (12) Exclusive OR (XOR)
_____________________________
11011 (result = 27) |
Exclusief OF heeft sommige interessante eigenschappen. Als Exclusief u OF een aantal alleen, het zich aan nul plaatst aangezien nul nul zullen blijven en degenen niet kunnen allebei zo worden geplaatst worden geplaatst aan nul.
Als resultaat van dit, als Exclusief OF een aantal met een ander aantal, toen Exclusieve u OF het resultaat met het andere aantal opnieuw, het resultaat het originele aantal bent. U kunt dit met de aantallen proberen die in het bovengenoemde voorbeeld worden gebruikt.
23 XOR 12 = 27
27 XOR 12 = 23
27 XOR 23 = 12
Deze eigenschap kan voor encryptie worden gebruikt. Het volgende programma gebruikt een encryptiesleutel van 23 om het bezit op een aantal te illustreren ingegaan door de gebruiker.
#include <stdio.h>
int main()
{
int num, key = 23;
printf("Enter a number: ");
scanf("%d", &num);
num ^= key;
printf("Exclusive OR with %d gives %d\n", key, num);
num ^= key;
printf("Exclusive OR with %d gives %d\n", key, num);
return 0;
}
Bitwise Compliment
Bitwise Compliment is een zijn complimentenexploitant die knevels het beetje of weg. Als het 1 is, zal het aan 0 worden geplaatst, als het 0 is het aan 1 zal worden geplaatst.
#include <stdio.h>
int main()
{
int num = 0xFFFF;
printf("The compliment of %X is %X\n", num, ~num);
return 0;
}
|