Java二进制补码二进制到整数

时间:2013-04-05 15:33:24

标签: java binary twos-complement

我知道用Integer.toBinaryString(355) = 0000000101100011和。将小数转换为二进制                                            Integer.toBinaryString(-355) = 1111111010011101(我取32位结果的低16位)。

我想做的是另一种方法,并采用16位二进制补码二进制字符串并转换为十进制。

0000000000110010 =  50
1111111111001110 = -50

而不是1111111111001110 = 65486

我该怎么做?

2 个答案:

答案 0 :(得分:5)

您需要将结果读入short

short res = (short)Integer.parseInt("1111111111001110", 2);
System.out.println(res);

prints -50

答案 1 :(得分:2)