本文介绍了为什么字节b =(字节)0xFF等于整数-1?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
为什么字节b =(字节)0xFF
等于整数
-1
?
例如:
int value = byte b = (byte) 0xFF;
System.out.println(value);
它会打印 -1
?
推荐答案
字节用Java签名。在二进制0x00中为0,0x01为1,依此类推,但所有1(即0xFF)为-1,0xFE为-2,依此类推。请参阅,这是使用的二进制编码机制。
Bytes are signed in Java. In binary 0x00 is 0, 0x01 is 1 and so on but all 1s (ie 0xFF) is -1, 0xFE is -2 and so on. See Two's complement, which is the binary encoding mechanism used.
这篇关于为什么字节b =(字节)0xFF等于整数-1?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!