用Java打印二进制格式的short

时间:2013-11-20 21:46:58

标签: java binary short

是否有任何内置支持在java中输出short的二进制表示形式?

当然,this建议使用Integer.toBinaryString(),它可以正常工作。没有类似的Short.toBinaryString()。还有其他什么吗?

更新 Integer.toBinaryString()并不像Short.toBinaryString()那样有效。如果它存在的话。

public static void main(String[] args) {
    System.out.println(Integer.toBinaryString(Short.MIN_VALUE));
}

产生

11111111111111111000000000000000

虽然我想看到

1000000000000000

当然,切掉前16位数字很容易,但这是我的观点。这种方法应该存在。

1 个答案:

答案 0 :(得分:6)

所有短片都可以安全地转换为整数,因此只要您在进行转换之前将short值正确转换为int,链接的答案就会正常工作(并且这样做,我们'重新确保开头的数字为零):

short x = 10;
System.out.println(Integer.toBinaryString(0xFFFF & x));
=> 1010

System.out.println(Integer.toBinaryString(0xFFFF & Short.MIN_VALUE));
=> 1000000000000000

换句话说:所有short s 都是整数,因此无需定义单独的方法来获取short的二进制表示。