为什么在java中,字节不会0xff?
为什么java编译器不让我放一个,是8位长,这只是数据类型的大小。
有人可以解释为什么1有效,为什么2不起作用吗?0xff
byte
0xff
byte
class a
{
public static void main(String[] args)
{
// 1 :: results in error
byte a = 0xff;
System.out.printf("%x\n",a);
//2 :: works fine
byte a = (int)0xff
System.out.printf("%x\n",a);
}
}
编辑我读到的答案声称0xff是255,怎么会这样?难道不是,是什么使0xff,-128或255或任何与此有关的东西。为什么它不把它当作而不是该字节到1的8位。1111 1111
1111 1111