hi!本今天介绍java常见位运算符的用法
位运算符,全称”移位运算符“,是直接对整数的二进制进行计算的运算符。位运算符的最大优点就是运算效率高,缺点是不够只管
按位与(&)
如果对应位都是1,则结果为1,否则为0。
例如:
按位或(|)
如果相应位都是0,则结果为0。否则为1
例如:
异或(^)
如果相对于位值相同则,结果为0,否则为1。
例如:
按位取反(~)
翻转操作数的每一位,即0变成1,1变成0
例如:
按位左移(<<)
把整数的二进制位向左移指定位数。在一定范围内,每左移一位,相当于乘以2。
例如:
0b1<<1 //即把 0000 0001 左移一位,变成0000 0010 所以结果是1*2=2
0b1<<2 //即把 0000 0001 左移两位,变成0000 0100 所以结果是1*2*2=4
按位右移(>>)
和按位右移和按位左移同理。把整数的二进制位向右移动指定位数,最高位补哦。一定范围内,每右移一位,相当于除以2。
例如:
0b100>>2 //即把0000 0100右移两位,变成0000 0001 所以结果是4/2/2=1
按位操作比Math.pow(a,b)操作要更有效率