所以我被要求编写一个程序,将二进制数转换为小数。在这种情况下,它是10111.我有的问题是我不允许使用math.pow,所以我必须使用嵌套循环。这是我迄今为止所拥有的。二进制到十进制,没有在java中使用math.pow
public static void main(String[] args) {
int x = 10111;
int num = 0, counter = 0;
for (int i = 1; i <= x; i *= 10) {
int binaryDigit = x/i%10;
num += (int) (Math.pow(2, counter) * binaryDigit);
counter++;
}
System.out.println("\""+ x + "\" in binary is equivalent to " + num + " in decimal");
}
您还可以通过电源5 = 2 * 2 * 2 * 2 * 2 –
乘以loop.2 @ luk2302代码的作品,但我这样做问题是我想用循环替换math.pow。 – Gandalf
@FastSnail确实。由于问题代码中的循环以最低有效位开始,所以实际上可以在相同的循环内计算功率。 (如我的答案中所做的那样) – Jay