我想有一个关于进制方面的问题,请大家帮忙.
不好意思,我刚接触java有个很菜的问题,想请教一下大家,大家千万不要笑话我.
有人提出这样一个问题如下:
说: 一个byte位16进制的80,我想把它转换成字符串10000000 但是现在用Integer.toBinaryString转换之后,成了11111111111111111111111110000000
我测试了一下代码如下:
class Aa
{
public static void main(String[]agrs)
{
byte b=0x80;
System.out.println(Integer.toBinaryString(b));
}
}
出现错误提示:大体意思是说0x80(正好是128)超过了byte范围(-128-127);
我想肯定是我对 "一个byte位16进制的80 "理解错误,我想请问大家,这句话到底是什么意思啊?
------解决方案--------------------int b=0x80
------解决方案--------------------先搞清楚每个数据类型的范围