1數組
// 要求: 把整數轉換成字節數組: byte[0]爲存儲數據低位, byte[3]存儲數據高位
public class _02_位運算 { public boolean isBigEndian() { //判斷是大端仍是小端 return ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN; } public byte[] unpackBigEndian(int x) { //高位在前,低位在後。 return new byte[]{ (byte) (x >>> 24),// 強制類型轉換, 老是轉換低字節部分,操做系統已經屏蔽了內存地址 (byte) (x >>> 16),// 把內存地址看作是從右至左,依次增大;符號方向同移動方向就一致了 (byte) (x >>> 8), (byte) (x >>> 0) }; } public byte[] unpackInt(int x) {//低位在前,高位在後 return new byte[]{ (byte) (x >>> 0), (byte) (x >>> 8), (byte) (x >>> 16), (byte) (x >>> 24) }; } public static void main(String[] args) { System.out.println(new _02_位運算().isBigEndian()); byte[] bytes = new _02_位運算().unpackInt(1000); System.out.println(bytes[0]); System.out.println(bytes[1]); } }