課程
/后端開發(fā)
/Java
/文件傳輸基礎(chǔ)——Java IO流
右移動24位,導(dǎo)致高24為全是0 再進行按位于操作,不還是原來那個數(shù)嗎?怎么就清零了呢?
2017-11-23
源自:文件傳輸基礎(chǔ)——Java IO流 3-1
正在回答
?writeInt()方法中的源碼? 每次讀取字節(jié)信息 都是經(jīng)過了一次無符號右移和位與操作。 而老師在寫入一個字節(jié)的時候并沒有寫位與操作。 因此其實寫不寫都可以 因為每次讀取的信息都是低八位。 但是源碼中的位與操作 確實做到了“清零”。 這個清零意思指的是 將前面24高位均置為0.
舉負數(shù)說明:? 11111111? ?11111111? ?11101000 11110111??
右移24位? 00000000? ?00000000? ?00000000? ?11111111? ?位與0xff 后 結(jié)果 為0xff? 讀取 0xff
右移16位 00000000? ?00000000? ?11111111? ?11111111? ?位與0xff后? ?結(jié)果為? 0xff? ?讀取 0xff
右移8位? 00000000? ?11111111? ?11111111? ? 11101000? 位與0xff后? ?結(jié)果為? 0xe8? ?讀取0xe8
右移0位? ?11111111? ? 11111111? ?11101000? ?11110111? 位與0xff后? ?結(jié)果為0xf7? ?讀取0xf7
看資料說 讀取字節(jié)信息 進行位與0xff操作 是為了保證二進制數(shù)據(jù)的一致性。? 這樣傳輸?shù)亩M制信息是安全的。
位于不就是對應(yīng)相乘嗎
一次就讀8個bit啊,所以清零了你也不用讀。就算不清零你也讀不到
織夢_ 提問者
舉報
為您介紹IO流的使用,以及對象的序列化和反序列化的內(nèi)容
3 回答為什么位與0xff后能去掉前面的0
1 回答&0xff的作用
1 回答0xff的作用
2 回答0xff有關(guān)的與運算
3 回答將高24位清零是不是把原來的數(shù)據(jù)改變了。。。
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2019-05-01
?writeInt()方法中的源碼? 每次讀取字節(jié)信息 都是經(jīng)過了一次無符號右移和位與操作。 而老師在寫入一個字節(jié)的時候并沒有寫位與操作。 因此其實寫不寫都可以 因為每次讀取的信息都是低八位。 但是源碼中的位與操作 確實做到了“清零”。 這個清零意思指的是 將前面24高位均置為0.
舉負數(shù)說明:? 11111111? ?11111111? ?11101000 11110111??
右移24位? 00000000? ?00000000? ?00000000? ?11111111? ?位與0xff 后 結(jié)果 為0xff? 讀取 0xff
右移16位 00000000? ?00000000? ?11111111? ?11111111? ?位與0xff后? ?結(jié)果為? 0xff? ?讀取 0xff
右移8位? 00000000? ?11111111? ?11111111? ? 11101000? 位與0xff后? ?結(jié)果為? 0xe8? ?讀取0xe8
右移0位? ?11111111? ? 11111111? ?11101000? ?11110111? 位與0xff后? ?結(jié)果為0xf7? ?讀取0xf7
看資料說 讀取字節(jié)信息 進行位與0xff操作 是為了保證二進制數(shù)據(jù)的一致性。? 這樣傳輸?shù)亩M制信息是安全的。
2018-05-10
位于不就是對應(yīng)相乘嗎
2017-11-24
一次就讀8個bit啊,所以清零了你也不用讀。就算不清零你也讀不到
2017-11-24
一次就讀8個bit啊,所以清零了你也不用讀。就算不清零你也讀不到