📜  使用数组作为堆栈将十进制数转换为二进制数的Java程序(1)

📅  最后修改于: 2023-12-03 15:06:56.776000             🧑  作者: Mango

使用数组作为堆栈将十进制数转换为二进制数的Java程序

本文介绍如何使用Java编写将十进制数转换为二进制数的程序。我们将使用数组作为堆栈,以便在转换过程中存储计算机的中间状态。

代码实现
import java.util.Arrays;

public class DecimalToBinary {
    public static void main(String[] args) {
        int decimalNumber = 15;
        int binaryNumber[] = new int[100];
        int index = 0;
        while (decimalNumber > 0) {
            binaryNumber[index++] = decimalNumber % 2;
            decimalNumber = decimalNumber / 2;
        }
        System.out.println("Binary representation is:");
        for (int i = index - 1; i >= 0; i--) {
            System.out.print(binaryNumber[i]);
        }
    }
}
代码解释

我们首先定义一个decimalNumber变量来存储要转换的十进制数(在本例中为15)。我们还定义了一个100个元素数组,用于存储计算机的中间状态。由于二进制数中的任何一位只能是0或1,因此将数组中的每个元素初始化为0。

int decimalNumber = 15;
int binaryNumber[] = new int[100];

接下来,我们将使用while循环来将十进制数转换为二进制数。每次循环,我们将执行以下操作:

  • 计算余数,将其存储在堆栈中的下一个空元素中。此时堆栈中的元素数量将增加1。

  • 将十进制数除以2,以便在下一次循环中计算下一个二进制位。

    while (decimalNumber > 0) {
        binaryNumber[index++] = decimalNumber % 2;
        decimalNumber = decimalNumber / 2;
    }
    

最后,我们使用for循环遍历堆栈中的元素,并将它们打印出来,以便输出最终的二进制表示。

System.out.println("Binary representation is:");
for (int i = index - 1; i >= 0; i--) {
    System.out.print(binaryNumber[i]);
}
总结

本文介绍了如何使用Java编写将十进制数转换为二进制数的程序,并使用数组作为堆栈以便存储计算机的中间状态。这是一个非常基础的算法,但对于程序员们加深对堆栈和进制转换理解是很有帮助的。