0
点赞
收藏
分享

微信扫一扫

JAVA中byte转int遇到的问题

花明 2022-04-13 阅读 152
java
byte z = (byte) 0x88;
int zInt = z;

此时如果打印z还有zInt, 会得到-120, 可是0x88明明是136呀
0x88 = 10001000= 128 + 8 = 36
但是如果这样做

byte z = (byte) 0x88;
int zInt = z & 0xff;

这时候就能得到z是-120, zInt就是136.
这时候有两个问题:

  1. 为什么前者总是-120
  2. 为什么后者& 0xff就能得到正确的值
举报

相关推荐

0 条评论