首先,计算机的底层是2进制形式,那么2*8是十进制的运算,首先计算机要把十进制转换成2进制在运算.
因此,计算机的底层运算,是二进制运算,位运算的效率要比代码中编写十进制运算效率更高...
* @param 移位运算符
* 移位运算符是相对于二进制而言,下面是移动规则
* 左移: "a<<b" 将二进制形式的 a逐步向左边移动b位,最低位空出的b位补0
* 带符号右移:"a>>b"将二进制形式的a逐位右移b位,最高位空出的b位补原来的符号位
* 无符号右移:"a>>>b"将二进制形式的a逐位右移b位,最高位空出的b位补0
*
* 左移相当于乘,左移一位相当于乘以2,左移两位相当于乘以4吗,左移三位相当于剩8,右移相当于除法,右移一位相当于除以2,右移两位相当于除以4,右移三位相当于除以8
* 一般来说,位运算是做计算机的底层运算,其运算的效率要比乘除法高.而且满足2的幂次方的乘除运算,都可以采用位移的方式进行.
|