本文主要是介绍按位运算(知识),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
按位与(&)
0&0=0 0&1=0 1&1=1 只有两个都是1才输出1,其余输出0
eg:int a=3,b=5
转换成二进制
3=0000 0011
5=0000 0101 对应位看结果3&5=0000 0001
所以int c=a&b=0000 0001=1
按位或(|)0&1=1 0&0=0 1&1=1 只要有一个1就为1
还是3和5
3=0000 0011
5=0000 0101 对应位看结果3|5=0000 0111=7
异或运算符(^)
参加运算的两个数,按二进制位进行“异或”运算。
运算规则:参加运算的两个数,如果两个相应位为“异”(值不同),则该位结果为1,否则为0。
即 0 ^ 0=0 , 0 ^ 1= 1 , 1 ^ 0= 1 , 1 ^ 1= 0 。
3^5=0000 0110=6
左移位
int a=3;
int c=a<<2;//a向左移动两位(是在二进制上的数移动的)
3=(0011)——>向左移动两位的结果 1100=12 所以c=12
右移位
这篇关于按位运算(知识)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!