位运算符把数字看作二进制数来进行计算的
按"位与"运算(&)
先把你要操作的两个数,转成二进制,转化完成后,将两个二进制数的数位对齐,如下图所示,对应数位上都是1结果为1,否则结果为0
按"位或"运算(|)
先把你要操作的两个数,转成二进制,转化完成后,将两个二进制数的数位对齐,如下图所示,对应数位上有一个是1结果为1,否则结果为0
按"位异或"运算(^)
先把你要操作的两个数,转成二进制,转化完成后,将两个二进制数的数位对齐,两个位置上的数相同,则结果为0,不相同则为1
按"位取反" 运算(~)
先把你要操作的一个数,转成二进制,转化完成后,将每个位置的数取反
左移位 运算(<<)
将一个二进制数向左移动指定的位数,左边(高位端)溢出的位被丢弃,右边(低位端)的空位用0补充
右移位 运算(>>)
将一个二进制数向右移动指定的位数,右边溢出的位被丢弃,左边的空位端,如果最左边是0(正数)左侧空位填0,如果最左边高位是1(负数 ),左侧空位填1