課程
/后端開發
/Java
/文件傳輸基礎——Java IO流
為什么單字節讀取不用&0xff?? 批量讀取時卻要用呢?? 不明白? 求解
2016-06-02
源自:文件傳輸基礎——Java IO流 4-1
正在回答
是這樣的,
單字節讀取時Integer.toHexString(b)
read 是無符號讀取的,就是讀取的時候,假如讀取的是一個字節 例如 11111111 ?b的值就是 00000000 00000000
00000000 11111111;
批量讀取時Integer.toHexString(buf[i]&0xff) 這個函數的參數是int類型的
buf 是一個字節數組。 假如buf[1]=11111111, 這個 會提升為 11111111 11111111 11111111 11111111,
這樣兩個int的字節碼就不同了
buf[1]&0xff (00000000 00000000 00000000 11111111) 這樣就一致了
昵稱是JaVa
因為每次讀取僅僅讀取一個字節也就是8位,而單字節就只有8位不需要&0xff,然而批量讀取時就需要先讀取低八位,再讀取高8位
Java中一個字節是八位么???
單字節說明就只有8位,就直接是低八位了呀!就不需要&0xff了啊
舉報
為您介紹IO流的使用,以及對象的序列化和反序列化的內容
3 回答老師的System.out.print(Integer.toHexString(buf[i]&0xff)+" ");句中為什么要加0xff?
2 回答有朋友知道這句什么意思?System.out.print(Integer.toHexString(buf[i] & 0xff)+" "); 尤其是buf[i] & 0xff)這句.
2 回答批量讀取問題
4 回答求教批量讀取
2 回答在文件用數組長度進行批量讀取時,每一次讀取的字節個數不相等
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-10-31
是這樣的,
單字節讀取時Integer.toHexString(b)
read 是無符號讀取的,就是讀取的時候,假如讀取的是一個字節 例如 11111111 ?b的值就是 00000000 00000000
00000000 11111111;
批量讀取時Integer.toHexString(buf[i]&0xff) 這個函數的參數是int類型的
buf 是一個字節數組。 假如buf[1]=11111111, 這個 會提升為 11111111 11111111 11111111 11111111,
這樣兩個int的字節碼就不同了
buf[1]&0xff (00000000 00000000 00000000 11111111) 這樣就一致了
2016-07-09
因為每次讀取僅僅讀取一個字節也就是8位,而單字節就只有8位不需要&0xff,然而批量讀取時就需要先讀取低八位,再讀取高8位
2016-06-30
Java中一個字節是八位么???
2016-06-02
單字節說明就只有8位,就直接是低八位了呀!就不需要&0xff了啊