導航:首頁 > 編程語言 > javabyte強轉int

javabyte強轉int

發布時間:2023-10-01 21:56:20

java 如何將byte[4]數組轉換成一個int型數據

java中將4位元組的byte數組轉成一個int值的工具方法如下:
/**
* @param byte[]
* @return int
*/
public static int byteArrayToInt(byte[] b){
byte[] a = new byte[4];
int i = a.length - 1,j = b.length - 1;
for (; i >= 0 ; i--,j--) {//從b的尾部(即int值的低位)開始數據
if(j >= 0)
a[i] = b[j];
else
a[i] = 0;//如果b.length不足4,則將高位補0
}
int v0 = (a[0] & 0xff) << 24;//&0xff將byte值無差異轉成int,避免Java自動類型提升後,會保留高位的符號位
int v1 = (a[1] & 0xff) << 16;
int v2 = (a[2] & 0xff) << 8;
int v3 = (a[3] & 0xff) ;
return v0 + v1 + v2 + v3;
}

❷ 在Java中,byte類型數據在運算之前要轉換成int類型數據。

byte類型數據是不能直接相加的,相加會自動類型會轉換int型,所以你再賦值給byte
型變數要強制類型轉換成byte型如下:
c
=
(byte)(a+b);
註:自動類型轉換:小類型轉大類型

byte佔一個位元組,int佔4個位元組
強制類型轉換:大類型轉小類型

❸ java byte類型是如何自動轉換成int類型的

b的代碼是0xf1,既是11110001

然後轉換成int, 變為11111111 11111111 11111111 11110001 一共是32位

然後b>>>4, 然後變為11111111 11111111 11111111 11111111

d是byte型,然後截斷,變為111111111

希望能幫到你~!

❹ java如何將byte類型數組變成int類型的數組

每4個byte轉化成一個int,使用位運算,大致如下

大端序:

int[i]=byte[4*i]<<24|byte[4*i+1]<<16|byte[4*i+2]<<8|byte[4*i+3];

小端序:

int[i]=byte[4*i]|byte[4*i+1]<<8|byte[4*i+2]<<16|byte[4*i+3]<<24;

❺ java中byte[]轉換成int

java中byte轉換為 int有兩種情況,一種是要求保持值不變,例如進行數值計算,可採用強制類型轉換:int i = (int) aByte;
另一種是要求保持最低位元組中各個位不變,3個高位元組全部用0填充,例如進行編解碼操作,
則需要採用位操作:int i = b & 0xff;

int InputStream.read()
該函數返回一個int類型,范圍從0至255,如果到達流末尾,返回-1。通過ByteArrayInputStream的源碼可以看到是如何從byte轉到int
public synchronized int read() {
return (pos < count) ? (buf[pos++] & 0xff) : -1;
}

注意,不是自動轉的,需要強製做處理。

閱讀全文

與javabyte強轉int相關的資料

熱點內容
熹妃q傳的網路什麼時候可以修好 瀏覽:165
key文件linux 瀏覽:990
java調用hessian 瀏覽:486
福建聚合網路公司怎麼樣 瀏覽:302
魅族手機備份文件夾 瀏覽:204
電腦c盤騰訊文件夾有什麼用 瀏覽:467
編程語言哪個最好就業 瀏覽:912
能不能找到cad之前打開的文件 瀏覽:259
怎樣設置文件夾許可權 瀏覽:60
oppo手機如何把圖片壓縮成文件 瀏覽:808
載入語言文件失敗 瀏覽:884
招聘plc編程屬於什麼職位類別 瀏覽:580
appstore改區後購買記錄 瀏覽:538
win10管理該文件沒有與之關聯的程序 瀏覽:799
手機里qt是什麼文件夾 瀏覽:48
筆記本關閉開機密碼 瀏覽:672
無法定位程序輸入點inetntop 瀏覽:22
java修改文件編碼 瀏覽:12
js判斷火狐 瀏覽:229
微信開發支持https介面 瀏覽:779

友情鏈接