我不明白为什么一个字节可以采用的最低值-128.我可以看到最高值是127,因为它是01111111二进制的,但是如何-128只用8位表示,其中一个用于符号?正128已经是8位,即10000000,然后你需要第9位来表示负号.
请有人帮我解释一下这个问题.
int myInt = 144;
byte myByte = /* Byte conversion of myInt */;
Run Code Online (Sandbox Code Playgroud)
输出应为myByte : 90(十六进制值 144)。
所以我做了:
byte myByte = (byte)myInt;
Run Code Online (Sandbox Code Playgroud)
我得到了myByte : ffffff90. :(
我怎样才能摆脱那些ffffff?