java - RandomAccessFile为什么位移4次就能写入一个Int?
本文介绍了java - RandomAccessFile为什么位移4次就能写入一个Int?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
public final void writeInt(int v) throws IOException {
write((v >>> 24) & 0xFF);
write((v >>> 16) & 0xFF);
write((v >>> 8) & 0xFF);
write((v >>> 0) & 0xFF);
//written += 4;
}
问题一:第一次右移动24次还有8位,第二次移动16位,还有16位,不是包括第一次的那8位了吗?没重复吗?
问题二:这跟序列化有什么关系?
解决方案
aaaaaaaabbbbbbbbccccccccdddddddd
>>>24
000000000000000000000000aaaaaaaa
&FF
000000000000000000000000aaaaaaaa
aaaaaaaabbbbbbbbccccccccdddddddd
>>> 16
0000000000000000aaaaaaaabbbbbbbb
&FF
000000000000000000000000bbbbbbbb
aaaaaaaabbbbbbbbccccccccdddddddd
>>> 8
00000000aaaaaaaabbbbbbbbcccccccc
&FF
000000000000000000000000cccccccc
aaaaaaaabbbbbbbbccccccccdddddddd
>>>0
aaaaaaaabbbbbbbbccccccccdddddddd
&FF
000000000000000000000000dddddddd
这篇关于java - RandomAccessFile为什么位移4次就能写入一个Int?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文