C语言位运算
所谓位运算,就是对一个比特位进行操作,其中C语言有6种位运算符
运算符 | & | | | ^ | ~ | << | >> |
---|
按位与运算:
按位或运算:
按位异或运算:
取反运算:
左移运算:
右移运算:
其中移位的位数不能用负数。
通过这些位运算符,可以做一些特殊的操作
比如:
x|=(1<<n); //第n位置1
x&=~(1<<n); //第n位置0
x^=(1<<n); //第n位取反
(x>>n)&1; //取第n位的值
交换2个数:
因为同一个变量对同一个值做2次‘^’等于原来的值
所以还可以通过“^”进行简单的加密;
利用(x>>n)&1; //取第n位的值,
我们可以轻易得出一个数的二进制数