将一个字节转换为十六进制

时间:2016-06-25 12:29:13

标签: java casting

我收到了这个问题:

enter image description here

答案是ffffff80, 但我不明白他们是怎么做到的.. 为什么转换为整数会调用2的补码?

1 个答案:

答案 0 :(得分:1)

a: 0x11 -> 17(dec) -> 10001 -> bitshift by 7 -> 100010000000 -> 0x880 -> 2176(dec)
b: (byte) a -> 10000000 -> 0x80 -> 128(dec)
c: (char) b -> char is signed, byte is unsigned -> 0x80 -> -128(dec)