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