課程
/后端開(kāi)發(fā)
/Java
/文件傳輸基礎(chǔ)——Java IO流
字節(jié)數(shù)組中的元素不是已經(jīng)分開(kāi)了嗎,為什么還要分別取后8位??
2016-01-11
源自:文件傳輸基礎(chǔ)——Java IO流 3-1
正在回答
在32位的電腦中數(shù)字都是以32格式存放的,如果是一個(gè)byte(8位)類型的數(shù)字,他的高24位里面都是隨機(jī)數(shù)字,低8位才是實(shí)際的數(shù)據(jù)。java.lang.Integer.toHexString() 方法的參數(shù)是int(32位)類型,如果輸入一個(gè)byte(8位)類型的數(shù)字,這個(gè)方法會(huì)把這個(gè)數(shù)字的高24為也看作有效位,這就必然導(dǎo)致錯(cuò)誤,使用& 0XFF操作,可以把高24位置0以避免這樣錯(cuò)誤的發(fā)生。
舉報(bào)
為您介紹IO流的使用,以及對(duì)象的序列化和反序列化的內(nèi)容
5 回答為什么4-1中的例子補(bǔ)0,不需要&0xff,但是用字節(jié)數(shù)組byte[i]比較的時(shí)候要&0xff
4 回答關(guān)于String轉(zhuǎn)化為byte數(shù)組后,不進(jìn)行&0xff,打印出的結(jié)果,上圖,為什么是這樣,漢字的一個(gè)字節(jié)前面為什么有那么多的1
1 回答為什么要轉(zhuǎn)換成16進(jìn)制輸出?
1 回答為什么轉(zhuǎn)換成16 進(jìn)制方式顯示
2 回答b已經(jīng)是8位byte類型,為什么要用0xff來(lái)去掉前面的24位呢?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2016-01-11
在32位的電腦中數(shù)字都是以32格式存放的,如果是一個(gè)byte(8位)類型的數(shù)字,他的高24位里面都是隨機(jī)數(shù)字,低8位才是實(shí)際的數(shù)據(jù)。java.lang.Integer.toHexString() 方法的參數(shù)是int(32位)類型,如果輸入一個(gè)byte(8位)類型的數(shù)字,這個(gè)方法會(huì)把這個(gè)數(shù)字的高24為也看作有效位,這就必然導(dǎo)致錯(cuò)誤,使用& 0XFF操作,可以把高24位置0以避免這樣錯(cuò)誤的發(fā)生。