Bitwise-位运算入门






& 运算符的应用
1)奇偶判定
通常判定偶数的方法是用 %(mod)
number % 2 == 0
但是我们可以用位与 & 来判定
number & 1 == 0


2)取末五位

3)消除末五位

4)2的幂 判定

除了妙 我还能说什么?!


| 运算符的应用


#include <stdio.h>
int main() {
    int x;
    scanf("%d", &x);
    printf("%d\n", x & 0b11111111111111111111111111101111); 
    return 0;
}

#include <stdio.h>
int main() {
    int x;
    int a = 0b10000; 
    scanf("%d", &x);
    printf("%d\n", (x | a) - a ); 
    return 0;
}





XOR 满足的运算定律
1)自个 与 自个 XOR 等于false (引火烧身?)
a ^ a = 0
2)任何数 与 0 XOR 等于它本身
a ^ 0 = a
3)交换律
a ^ b = b ^ a
4)结合律
(a ^ b) ^ c = a ^ (b ^ c)
XOR运算符的应用


#include <stdio.h>
int main() {
    int a, b;
	while (scanf("%d %d", &a, &b) != EOF) {
	    a = a ^ b;   // (1)
	    b = a ^ b;   // (2)
	    a = a ^ b;   // (3)
	    printf("%d %d\n", a, b);
	}
	return 0;
}



关于位运算还有好多

这只是入门!
    让思维见见世面
 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号