【发布时间】:2013-08-21 04:12:52
【问题描述】:
我在将十进制转换为二进制时遇到了问题。如何使用字符串生成器转换二进制从一开始就添加0?
while (num != 0){
int digit = num % 2;
buf.append(digit);
num = num/2;
}
System.out.println(num);
【问题讨论】:
-
您需要以相反的顺序打印
buff -
从this post得到一个想法
-
这不适用于负数
-1 % 2 == -1 -
您所做的不是将十进制转换为二进制。它将数字转换为二进制。在
2字符之外,任何地方都没有小数点。 -
如果您使用从 0x80000000 开始的掩码并随着每一步向下移动,则无需反向操作即可完成。