簡體   English   中英

如何將二進制值存儲到字節數組中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM