[英]How to store a binary value into a byte array
我使用了以下語句byte[3]=(byte)0x80
0x80是十六進制值128,並且我也嘗試過此語句byte [3] =(byte)128
在第一種情況下,打印時第二種情況下輸出為-128,輸出為-1
現在我該如何解決。 還有什么其他方法可以將10000000存儲到字節數組中
問題不在於您如何輸入價值,而在於如何獲取價值。
byte[] bytes = new byte[4];
bytes[3] = (byte) 128;
int num = bytes[3] & 0xFF;
System.out.println(num);
版畫
128
計算機無論如何都以二進制形式存儲值,似乎您的問題是以二進制形式輸出它。
Integer.toBinaryString(字節[3]);
應該可以。
編輯:誤讀了您的問題,但是正如其他人所說的那樣,您需要確保該變量未簽名以存儲大於127的正值。
A[0]= x & 255
A[1]= (x>> 8) & 255
A[2]= (x>>16) & 255
A[3]= (x>>24) & 255
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.