我在Java中有一些int
變量中的數據(範圍在0和64000之間)。如何轉換爲字節這個整數?我需要從int
只有兩個較低的字節(範圍是好的)。如何提取這個?從int變量中獲取兩個低位字節
11
A
回答
22
您可以0xFF
得到通過取與整數的最低字節:
byte lowByte = (byte)(value & 0xFF);
這工作,因爲0xFF
具有零位隨處可見的第一個字節以上。
要獲得倒數第二個字節,你可以在數8點下移的所有位後重復這一招:
byte penultimateByte = (byte)((value >> 8) & 0xFF);
3
你不必做,操作以獲取較低字節只是將其轉換爲字節並獲取字節變量中的低位字節。
嘗試以下兩種會給你同樣的結果
short value = 257;
System.out.println(value);
byte low = (byte) value;
System.out.println("low: " + low);
byte high = (byte)(value >> 8);
System.out.println("high: " + high);
value = 257;
System.out.println(value);
low = (byte) (value & 0xFF);
System.out.println("low: " + low);
high = (byte) ((value >> 8) & 0xFF);
System.out.println("high: " + high);
或者試試Ideone.com
相關問題
- 1. 從java中的多字節變量中獲取單個字節
- 2. 從Ruby中的一個字節獲取兩個半字節
- 3. 從字節獲取位圖[]
- 4. 如何獲取int的低8位?
- 5. 如何從一個字符串中獲取兩個數字並將其轉換爲一個變量中的int?
- 6. 如何從字符串中獲取兩個變量?
- 7. 在兩個字節長的變量中反轉一個字節
- 8. 從字符串獲取int位置PHP
- 9. 如何從c#中的兩個字節數組中提取或獲取位,並將其存儲在每個提取的位的單獨變量中?
- 10. 如何從十六進制值中提取低位字節?
- 11. 從一個字節獲取半字節
- 12. 從字節數組中獲取字節塊的起始位置
- 13. 獲取的Java字節緩衝區內從字節低和高次半字節
- 14. 從兩個微調器獲取值到字符串變量
- 15. DWORD變量,包含低/高字和低/高字節
- 16. 如何從字節字中獲取所選位的位置值
- 17. 從字節串獲取任意位bits
- 18. gosnmp從SNMP PDU獲取八位字節
- 19. 獲取從位圖的字節數組
- 20. 如何從字節獲取位值?
- 21. 從字節數組獲取第0位
- 22. 從Java中的字節獲取int,首先在C#中編碼
- 23. 獲取增加值的最低字節
- 24. 將16位浮點變量打包成兩個8位變量(又名一半兩字節)
- 25. 從位於任意位長度的字節數組中讀取變量
- 26. 如何在C++中設置short int的高位和低位字節
- 27. shell - 如何從一個字節中單獨獲取每一位?
- 28. 從變量中獲取字符串
- 29. 只能從變量中獲取數字
- 30. 從字節數組中讀取兩個字節
+1雖然它不是一招,這就是所謂的「算術移位」 ;-) – 2011-01-28 09:06:54