按位与&操作通常用作将一个数的某些位清零或保留某些位操作
例如:把a的高8位清零
a & 0000000011111111
也就是将a & 255操作之后,就会实现将数字a的高8位位清零了
异或^操作的用途:
将某些特定的位翻转
例如对数0x10100001的第2和第3位翻转操作,那么
可以0x10100001 ^ 0x00000110
通过按位异或操作可以实现两个数的交换
例如交换A和B
A=0x10100001 B=0x00000110
A=A^B A=10100111
B=A^B B=10100001
A=A^B A=00000110
位运算的一些操作:
1、 乘除2
数字A左移n位表示 A*2^n
数字A右移n位表示A/2^n
2、 判断奇偶性
因为如果一个数位奇数,那么最后一位肯定为1,所有和1进行按位&操作,肯定是1,可判断出来是奇数,如果结果为0那么为偶数
0x00010000
&
0x00000001
Int a = 16;
Int b= 25;
If(a & 1)
奇数
Else
偶数