java代码中
 RandomAccessFile raf = new RandomAccessFile(file, "rw");    raf.seek(2); int num=raf.read()<<24;现问: 第二行和第三行什么意思呀,thanks

解决方案 »

  1.   

    第二行是移动指针第三行是读出一个byte后进行移位运算
      

  2.   

    raf.seek(2);              从文件的第三个字节开始
    int num=raf.read()<<24;   读取一个字节,向左位移24位
    读出的是:0x09 -> 将变成0x9000000。
      

  3.   

    第一行:看API
    第二行:看JAVA移位操作符
      

  4.   

    2楼的
    向左位移24位是什么意思
    比如 
        int num=0x7fffffff;
    num 向左位移24位得多少呢
      

  5.   

    你大可自己写代码测试看下结果int num = 0x7fffffff;
    System.out.println(Integer.toBinaryString(num<<24));
      

  6.   

    0xff000000
    0x7fffffff << 24 -> 7fffffff000000  但是int类型只有4byte,所以需要丢弃7fffff