编程语言
首页 > 编程语言> > java – 为什么字节b =(字节)0xFF等于整数-1?

java – 为什么字节b =(字节)0xFF等于整数-1?

作者:互联网

为什么字节b =(字节)0xFF等于整数-1?

例如:

int value = byte b = (byte) 0xFF;
System.out.println(value);

它会打印-1?

解决方法:

字节用Java签名.在二进制0x00中为0,0×01为1,依此类推,但所有1(即0xFF)为-1,0xFE为-2,依此类推.请参见Two’s complement,这是使用的二进制编码机制.

标签:twos-complement,java,bit
来源: https://codeday.me/bug/20190930/1836631.html