根据Integer.toBinaryString(-49)的结果如何返回-49

来源:百度知道 编辑:UC知道 时间:2024/09/20 16:29:24
Integer.toBinaryString(-49),结果是11111111111111111111111111001111,如何根据这个二进制数据得到十进制的-49,我知道Integer.parse(i,2)对正数没问题,但负数好像不行,请问如何得到?

...

怎么没人回答?我刚学几天,不怎么会。
Integer.parse("-1111",2) = -49,所以格式不对。
不过,你可以自己写成员方法。
class Test
{
public static int bti(String str) throws Exception
{
if(str.length()>32) throw new Exception("format Error!");
int r=0;
String[] s=str.split("");
for(int i=1;i<33;i++)
{
r=(r<<1)|(Integer.parseInt(s[i]));
}
return r;

}
public static void main(String[] args) throws Exception
{
int i=-49;
String str=Integer.toBinaryString(i);
System.out.println(str);
System.out.println(bti(str));
}
}
=================
有点问题,就是没有判断字符。