运用位运算解题
位运算符
在处理整形数值时,可以直接对组成整形数值得各个位进行操作。
位运算有:
& 与 两个位都为1时,结果才为1
| 或 两个位都为0时,结果才为0
^ 异或 两个位相同为0,相异为1
~ 取反 0变1,1变0
>>和<<运算符将二进制位进行右移或者左移操作
使用位运算判断数的奇偶性
要知道奇数最后一位二进制为 1,偶数最后一位二进制为 0
public static boolean isOdd(int i){
//与运算
return (i&1)!=0;
}
位运算交换两个整数变量的值
异或,可以理解为不进位加法:1+1=0,0+0=0;1+0=1
异或运算性质 x ^ x ^ y == y,因为x ^ x == 0,0 ^ y == y
public static void main(String[] args){
int a = 10;
int b = 20;
a = a ^ b;
b = b ^ a;
a =
运用位运算解题最先出现在Python成神之路。
共有 0 条评论