java - RandomAccessFile为什么位移4次就能写入一个Int?

查看:67
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆