将二进制补码形式的数字转换为带符号的十进制数

时间:2014-02-19 06:42:28

标签: java

我有一个数字-2的字符串表示,我使用这个函数

Integer.toBinaryString(signed-int); 

所以我把-2放到了11111111111111111111111111111110

我执行了一些操作,现在我想将字符串11111111111111111111111111111110再次转换为-2。我该怎么做?

一般情况下,如何将数字的二进制补码表示转换为带符号的十进制形式?

1 个答案:

答案 0 :(得分:4)

试试这个

int x = (int)Long.parseLong(s, 2);

Integer.parseInt无法解析"11111111111111111111111111111110"因为它将其作为正二进制数