引用oracle网站“字节:字节数据类型是一个8位有符号二进制补码整数。它的最小值为-128,最大值为127(含)”。
在这里,前两行是有效的,但最后不是
byte b = -128;
byte b1 = 127;
byte b2 = b>>>b1;//illegal
Q1) 8 位签名究竟是什么意思?二进制格式的 128 将是 1000 0000 并且 -128 将需要一个额外的负号位,如果所有 8 位都被占用,它将适合。
Q2)对于 int,有一个无符号右移运算符,但这对于字节来说似乎是非法的,为什么会这样。在字节的情况下不能防止溢出。在int 的情况下,它可以工作
谢谢你的帮助