java代码中
RandomAccessFile raf = new RandomAccessFile(file, "rw"); raf.seek(2); int num=raf.read()<<24;现问: 第二行和第三行什么意思呀,thanks
RandomAccessFile raf = new RandomAccessFile(file, "rw"); raf.seek(2); int num=raf.read()<<24;现问: 第二行和第三行什么意思呀,thanks
int num=raf.read()<<24; 读取一个字节,向左位移24位
读出的是:0x09 -> 将变成0x9000000。
第二行:看JAVA移位操作符
向左位移24位是什么意思
比如
int num=0x7fffffff;
num 向左位移24位得多少呢
System.out.println(Integer.toBinaryString(num<<24));
0x7fffffff << 24 -> 7fffffff000000 但是int类型只有4byte,所以需要丢弃7fffff