Java二进制补码二进制到整数
我知道使用Integer.toBinaryString(355) = 0000000101100011
和Integer.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
。
用一个short
? 它们占据16位。
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html