Java基础面试题:使用最快的效率将2变成8
原理:将被转换的数字进行位移运算
package blog.csdn.net.karen.javasedemo; |
演算过程
1 本文中将被转换的数字定为 byte 数据类型,只是为了演示方便,定为其它数据类型均可
2 表达式 ==number1 << 2== 说明:将数字 number1 对应的二进制数左移2位,空出的低位使用“0”补足
3 数字 2 的二进制表示:byte类型占内存空间为1个字节,1个字节为8个位
| 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
|–|–|–|–|–|–|–|–|
4 将2的二进制表示数左移2位
| 0 | 0 | 0 | 0 | 1 | 0 | | |
|–|–|–|–|–|–|–|–|
5 二进制数被移动后,空出的低位用“0”补齐
| 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
|–|–|–|–|–|–|–|–|
将以上二进制数转换为十进制表示,结果为8