6 java
嗨,我想将一个长整数转换为二进制,但问题是我想要一个固定的16位二进制结果转换后,如果我转换2到16位二进制它应该给我0000000000000010作为ans谁可以帮助我?
uck*_*man 23
最有可能的是你想要的Integer.toBinaryString()东西,结合确保你得到16个地方的东西:
int val = 2;
String bin = Integer.toBinaryString(0x10000 | val).substring(1);
Run Code Online (Sandbox Code Playgroud)
这里的想法是通过在值的第17位放置1来获得零填充,然后使用String.substring()来切断它创建的前导1,因此总是给出正好16个二进制数字.(当然,只有在您确定输入是16位数时才有效.)
kgi*_*kis -1
二进制是一种表示形式,而不是一种将整数转换为的格式。例如,如果您有一个整数:
int i = 2;
Run Code Online (Sandbox Code Playgroud)
二进制表示形式为 00000010。Java 仅支持有符号整数,因此此链接会有所帮助。