3
A
回答
0
你可以編碼一個循環,你把「long」除以256,取其餘的,然後你有「最低有效字節」...... (取決於你是想要little-endian還是big-endian你可以向前或向後循環)
long l = (3* 256 * 256 * 256 + 1 * 256 *256 + 4 * 256 + 8);
private byte[] convertLongToByteArray(long l) {
byte[] b = new byte[4];
if(java.nio.ByteOrder.nativeOrder() == ByteOrder.LITTLE_ENDIAN){
for (int i=0; i<4; i++) {
b[i] = (byte)(l % 256) ;
l = l/256;
}
}else{
for (int i=3; i>=0; i--) {
b[i] = (byte)(l % 256) ;
l = l/256;
}
}
return b;
}
1
8
要讀取4個字節爲一個無符號的32位值,假設它是小端,以最簡單的做法是使用的ByteBuffer
byte[] bytes = { 1,2,3,4 };
long l = ByteBuffer.wrap(bytes)
.order(ByteOrder.LITTLE_ENDIAN).getInt() & 0xFFFFFFFFL;
雖然l
可以是一個符號的64位值它將只能在0和2之間^^ 32-1,這是一個無符號的32位值的範圍。
相關問題
- 1. Java - 將字節[]轉換爲字符串
- 2. 轉換爲C字節數組長長
- 3. Java - 將int轉換爲4字節的Byte數組?
- 4. 如何在Java中將float從float轉換爲4個字節?
- 5. 將4個字節的字節轉換爲一個int
- 6. Java:將字節轉換爲整數
- 7. 將字節數組轉換爲.wav java
- 8. Java將int隱式轉換爲字節
- 9. 將int轉換爲java中的字節
- 10. char轉換爲字節? (JAVA)
- 11. 將int寫入字節,長度爲4
- 12. 將Java字符串轉換爲16字節的字節數組
- 13. 將數字轉換爲4字節的字符串
- 14. 將字節轉換爲字節[]
- 15. 如何將字節[]轉換爲字節[]
- 16. 轉換爲字節[特定長度
- 17. 轉換字節[]爲長黑莓
- 18. 將char轉換爲字節
- 19. 將字節[]轉換爲SAFEARRAY
- 20. 將字節[]轉換爲Int8
- 21. 將NSData轉換爲字節
- 22. 將UUID轉換爲字節
- 23. 將pandas.DataFrame轉換爲字節
- 24. 將NSString轉換爲字節
- 25. 將FloatBuffer []轉換爲字節[]
- 26. 將PDF轉換爲字節
- 27. 將字節轉換爲位
- 28. 將BitmapImage轉換爲字節[]
- 29. 將字節轉換爲SByte
- 30. 將HttpContent轉換爲字節[]
你不能因爲咬了一口。爲什麼不使用多久?如果這是爲了優化,那麼你不應該打擾。 –
'int'在Java中是32位的,這看起來比64位的'long'更合適。另外,**你是如何將數據從C傳遞給Java的? –
如果你在C語言中對'byte [4]''進行'long unsigned int'轉換,並將它傳遞給Java(可能是逗號分隔的整數列表),那麼看起來似乎更合適。 –