日期:2014-05-20  浏览次数:20609 次

我想有一个关于进制方面的问题,请大家帮忙.
不好意思,我刚接触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
------解决方案--------------------
先搞清楚每个数据类型的范围