1、与(&),按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
5&3 = 1 ---------- ------> 101 011 001 相同位仅为个位1 ,故结果为 1
2、或(|),按位或运算符:只要对应的两个二进位有一个为1时,结果位就为1
5|3 = 7 ---------- ------> 101 011 出现1的位是 1 1 1,故结果为 111
3、异或(^),按位异或运算符:当两对应的二进位相异时,结果为1
5^3 = 6 ---------- ------> 101 011 对位相加是 1 1 0,故结果为 110
4、取反(~),按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1
~5 = -6 ---------- ------> ~x = -(x+1),-(101 + 1) = -110
~7 = -(0111+1)= -1000 = -8
5、左位移(<<),运算数的各二进位全部左移若干位,由<<右边的数字指定了移动的位数,高位丢弃,低位补0
5<<2 = 20 ---------- ------> 101 向左移动2位得到 10100 ,即右面多出2位用0补
6、右位移(>>),把‘>>’左边的运算数的各二进制位全部右移若干位,>>右边的数字指定了移动的位数
5>>2 = 1 ---------- ------> 101 向右移动2位得到 001 ,即左边用0补