C语言位运算符
C语言位运算符,对于普通程序员来说,平时很少用到,但是对于偏开发底层的程序员来说很好用,概念也很简单,无非就是拿二进制数做各种运算。

1.按位与&
例子:4&1
过程:先化为二进制: 100
001
结果 000(运算法则:1&0=0,1&1=1,0&1=0,0&0=0)化为10进制结果为:0.
2.按位或 |
例子:4|1
过程:先化为二进制: 100
001
结果 101(运算法则:1|1=1,1|0=1,0|1=1,0|0=0)化为十进制结果为:5
3.按位异或^
例子:4|1
过程:先化为二进制: 100
001
结果 101(运算法则:1|1=0,1|0=1,0|1=1,0|0=0)化为十进制结果为:5.口号:相同为0,异为1
4.按位取反。
(1)例子:X=100;化为二进制:01100100
有符号下X 取反:10011011 化为十进制结果:-101
无符号下X 取反:10011011 化为十进制结果:65435
有符号下与无符号下取反结果都一样,但是其最高位表达的含义不同。有符号最高位若为1,则表示负号,最高位为0,则表示正号。而无符号小,不管是0还是1都只表示数字而已。
5.左移<<
例子:X=2.化为而进制数:00000010
则2<<2(表示2化为2进制,并且整体向左移动2个字节)结果为:00001000,化为十进制为:8
则2<<3(表示2化为2进制,并且整体向左移动3个字节)结果为:00010000,化为十进制为:16
6.右移>>
例子:X=2.化为而进制数:00000010
则2>>1(表示2化为2进制,并且整体向右移动1个字节)结果为:00000100,化为十进制为:4
则2<<2(表示2化为2进制,并且整体向右移动2个字节)结果为:00000000,化为十进制为:0
最后希望这篇文章对你们有帮助,如果看不懂的话,笔者建议你,好好理解一下二进制的概念,其实二进制很简单,也像十进制一样,只不过我们从小就接受十进制的教育,一下子
转到二进制进行运算,有点不太适应而已,久了就习惯了。

浙公网安备 33010602011771号