我只是想用java做一个十进制到二进制的转换器,我想要显示的是这样的:
Binary 41 is 00101001但是,这是我刚刚做的展示:
Binary 41 is: 101001下面是我的代码:
public void convertBinary(int num){
int binary[] = new int[40];
int index = 0;
while(num > 0){
binary[index++] = num % 2;
num/=2;
}
for(int i = index-1; i >= 0; i--){
System.out.print(binary[i]);
}我能做什么,使一个8位二进制显示?我非常感谢你给我的所有答复,谢谢
发布于 2020-06-29 18:28:25
使用
System.out.format("%08d%n", binary[i]); 而不是
System.out.print(binary[i]);System.out.format("%08d%n", binary[i]);中的"%08d%n"将输出格式化为8位整数。
注意:这里有更多的例子:https://docs.oracle.com/javase/tutorial/java/data/numberformat.html
发布于 2020-06-29 19:12:47
如果num保证小于256,那么对现有代码最简单的更改就是将循环条件更改为index < 8
while(index < 8){
binary[index++] = num % 2;
num/=2;
}这直接表达了拥有8位数字的愿望。也就是说,当您转换完所有非零位时,您根本不会停止。
发布于 2020-06-29 18:24:17
int t;
byte val = 123;
for(t = 128; t > 0; t = t/2){
if((val & t) != 0) System.out.print("1 ");
else System.out.print("0 ");
}https://stackoverflow.com/questions/62635751
复制相似问题