我知道用Integer.toBinaryString(355) = 0000000101100011
和。将小数转换为二进制
Integer.toBinaryString(-355) = 1111111010011101
(我取32位结果的低16位)。
我想做的是另一种方法,并采用16位二进制补码二进制字符串并转换为十进制。
即
0000000000110010 = 50
1111111111001110 = -50
而不是1111111111001110 = 65486
我该怎么做?
答案 0 :(得分:5)
您需要将结果读入short
。
short res = (short)Integer.parseInt("1111111111001110", 2);
System.out.println(res);
答案 1 :(得分:2)