Java基礎面試題:使用最快的效率將2變成8
阿新 • • 發佈:2018-11-09
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