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

不和0xff想与,结果有问题啊

执行System.out.print(Integer.toHexString(b) + " ");没有和0xff相与,结果为什么是这样啊:ffffffc4 ffffffbd ffffffbf ffffffce 41 42 43,前面24位不是0啊,这是为什么

提问者:mn_0001 2015-05-23 20:08

个回答

  • 执念_00
    2015-12-15 21:00:30

    中文的byte中最高位为1,即对应的byte为负数,转为Integer,符号不变,同样最高位为1,为负数。负数以补码存储在计算机中,因此为FFFFFF。具体补码怎么实现,上网查看转换规则即可。