導航:首頁 > 編程語言 > 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相關的資料

熱點內容
域名的主機名網路名 瀏覽:260
帶官網的有哪些網站 瀏覽:265
江蘇校服通官網app怎麼下不了 瀏覽:929
車床清根怎麼編程 瀏覽:867
word2007表格內容上下居中 瀏覽:818
蘋果手機視頻傳送不了qq文件 瀏覽:738
文件夾加密保護 瀏覽:852
蘋果5瀏覽不到網路 瀏覽:932
修電腦什麼編程器最好 瀏覽:557
計算機網路期末論文 瀏覽:731
領導現場工作照怎麼取文件名 瀏覽:957
iphone4s喇叭失靈播放音樂沒聲音 瀏覽:457
如何查找各省份的行業數據 瀏覽:462
保存到考生文件是哪個文件 瀏覽:272
linuxvim分屏 瀏覽:640
網路打牌被監控怎麼辦 瀏覽:10
為什麼漢化版編程語言沒有發展 瀏覽:86
linux剪裁 瀏覽:393
廣州銀行app有什麼區別 瀏覽:585
蘋果系統測試文件 瀏覽:176

友情鏈接