C语言中P2=~(1左移i)是什么意思?

<<是按位左移运算,~是按位取反运算,=是赋值运算。 P2=~(1<<i)的意思是把1换成二进制数,而后左移i位,再按位取非,将结果赋给P2,等价于P2=(~(1<<i))。 好比i为3。那么P2= ~(1<<i) = ~(1<<3) 。 先按1个字节来看,1的二进制为00000001,左移3位获得00001000。取反获得11110111,即十六进制的F7。 若是整数为4个字节,那么P2= ~(
相关文章
相关标签/搜索