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