& | ^ ~ << >> 按位运算符
与(&) |(或) ^(异或) ~(取反) <<(左移)
先将两个数全部转化成为2进制再进行比较,再进行比较,位数不同则前面添0变为位数相同,然后再将得到的结果转化为你想要的类型显示
两个数进行&操作,同位置同为1才为1,否则为0
两个数进行|操作,同位置有1则为1,同0才为0
两个数进行^操作,同位置不同则为1,相同则为0
一个数进行~操作,该位置的1变成0,0变成1
a<<2表示将a整体向左移动2位
a>>2表示将a的末尾去掉2位
例如: char a=0xA2; int b=023; 求a&b,a|b,a^b,~a,b<<2,a>>2 先a转换成二进制:1010 0010 b转换为二进制: 0001 0011 a&b=000010=2 a|b=10110011=178
a^b=10110001=176
~a=01011101=92
b<<2=100 1100=78
a>>2=1 0100=20