问答详情
源自:1-1 文件的编码

不大明白。。。请指点一二!

为什么Integer.toHexString(b)改成Integer.toHexString(b & 0xff)就去掉了前面的24个0了?

提问者:慕林溪 2016-02-26 08:44

个回答

  • 神帝
    2016-02-26 09:18:18
    已采纳

    0xff二进制表示是11111111(前面24位为0),把b与0xff进行&运算(与0与为0、与1与为1),相当于把b的前24为全部置为0,不是去掉

  • 咖喱炒饭
    2017-04-16 20:36:47

    0xff是8位的11111111,进行与运算相当于保留后8位,将前32位-8位=24位去除

  • wenqu
    2016-02-26 09:33:07

    只是通过与运算把前面的都变为0,