按位与(&)
参加运算的两个数,换算为二进制(0、1)后,进行与运算。只有当相应位上的数都是1时,该位才取1,否则该为为0。
按位或(|)
参加运算的两个数,换算为二进制(0、1)后,进行或运算。只要相应位上存在1,那么该位就取1,均不为1,即为0。
按位异或 (^)
参加运算的两个数,换算为二进制(0、1)后,进行异或运算。只有当相应位上的数字不相同时,该为才取1,若相同,即为0。
取反 (~)
参加运算的两个数,换算为二进制(0、1)后,进行取反运算。每个位上都取相反值,1变成0,0变成1。
左移 (<<)
左移运算符 m<<n ,表示把 m 左移 n 位。在左移 n 位的时候,最左边的 n 位将被丢弃,同时在右边补上 n 个0。
右移(>>)
左移运算符 m>>n ,表示把 m 右移 n 位。在右移 n 位的时候,最右边的 n 位将被丢弃。如果数字是一个无符号的数值,则用0填补最左边的 n 位;如果数字是一个有符号的数值,则用数字的符号位填补最左边的 n 位。也就是说,如果数字原先是一个正数,则用0来填补左边的 n 位,如果数字原先是一个负数,则用1来填补左边的 n 位。