Java基礎面試題:使用最快的效率將2變成8
原理:將被轉換的數字進行位移運算
package blog.csdn.net.karen.javasedemo;
/**
* 位移運算演示
* <p>
* Created by Karen Chia on 2018/11/8
*/
public class OperatorDemo {
public static void main(String[] args) {
byte number1 = 2;
byte res = (byte) (number1 << 2);
System.out.println(res);
}
}
演算過程
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