我有很長的價值,我想轉換ot字節數組。我用這個功能無法將字節轉換爲普通視圖
public static byte[] longToByteArray(long value) {
byte[] result = new byte[8];
for(int i = 0; i < 8; i++) {
result[i] = (byte)(value & 0xFF);
System.out.println(result[i]);
System.out.println(Integer.toBinaryString(result[i]));
value >>>= 8;
}
return result;
}
和輸出數據看起來像
18
10010
-12
11111111111111111111111111110100
88
1011000
83
1010011
0
0
0
0
0
0
0
0
爲什麼我在-12二進制視圖太多1,我怎樣才能得到它像
11110100
-12是一個負整數。我認爲你的意思是'System.out.println(Integer.toBinaryString(result [i]&0xFF));'(單個'&') –
@EvanKnowles確定它是,有什麼要澄清的嗎? – morgano
@EvanKnowles你是對的,它是'&',而不是'&&',我要刪除我的答案,你可以請添加行到你的答案? OP還要求解決方案 – morgano