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

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

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

 0000000000110010 = 50 1111111111001110 = -50 

而不是1111111111001110 = 65486

我该怎么办?

你需要short地阅读结果。

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

这打印-50