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

发布于 2021-01-30 16:47:39

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

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

0000000000110010 =  50
1111111111001110 = -50

而不是 1111111111001110 = 65486

我该怎么做?

关注者
0
被浏览
85
1 个回答
  • 面试哥
    面试哥 2021-01-30
    为面试而生,有面试问题,就找面试哥。

    您需要将结果读取到中short

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

    打印-50



推荐阅读
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看