您好我刚遇到一个从byte转换为int的问题。 代码就像这样
byte b=(byte)-1;
System.out.println(b);
char c=(char) b;
System.out.println(c);
int i=c;
System.out.println(i);
我理解的是当我们将int -1转换为byte时,它将使得8位2对+1的补充,因此值将类似于1111 1111.当我们将其转换为基于MSB的char时,它将追加1或0。从char到int只是扩大转换就在那里。但我得到了这样的输出。
-1
?
65535
我不明白它为什么打印“?”在第二名。请帮我解决这个问题