有关Java IO杂记

2019-08-27  本文已影响0人  Loistein

1. RandomAccessFile中writeInt的原理是什么?

先看源码:

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;
    }

2. 为什么java byte数值范围是 -128-127?

3. 十六进制为FF对应的java数值为-1?

注意计算机都是用补码表示的
1的二进制原码、反码、补码为0000 0001
-1的二进制原码为1000 0001,反码为1111 1110,补码为1111 1111= FF(十六进制)

再看一个数字-48,对应的16进制是什么?
原码1011 0000 反码 1100 1111 补码 1101 0000= d0(十六进制)

上一篇 下一篇

猜你喜欢

热点阅读