是否有任何内置支持在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位数字很容易,但这是我的观点。这种方法应该存在。
答案 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
的二进制表示。