位运算的基本运算符有:&(按位与) |(按位或) ^(异或) <<(左移) >>(右移) ~(求反)
对于异或运算符(^):只有不一样时才为真 ,一样的时候为假。
左移右移:若将一个数扩大2^n倍,最简单的办法是将该数二进制左移n位。左移的时候右边补0,右移的时候左边补符号位,即左边空出的位用0或者1填补。正数用0填补,负数用1填补。
按位与:同为1才为1,其余(00.01.10)都为0
按位或:有一个为1都为1.
求反运算:对参与运算的数的各二进位按位求反。数据在内存中存放,同时二进制是以补码的形式在内存中存放,另外,正数补码,反码都是本身,在二进制中存储每个数都有一个符号位。
例如8,就是01000,第一个0代表符号位,0代表正,1代表负,
将8求反运算时,正确步骤应该是:
1.将8正常取反(0变成1,1变成0)得10111
2.由第1步得到的二进制数减去1,得到10110,
3.符号位不变,别的位取反,得到11001,也就是-9