原文: https://beginnersbook.com/2018/09/java-program-to-add-two-binary-numbers/

在本教程中,我们将 java 程序编写为相加两个二进制数。二进制数系统只有两个符号 0 和 1 所以二进制数只包含 0 和 1。在我们编写相加程序之前,让我们看看我们如何在纸上相加,如下图所示:

Java 程序:相加两个二进制数 - 图1

示例:在 Java 中相加二进制数

在这个程序中,我们使用Scanner从用户获取输入(用户输入我们需要相加的两个二进制数),然后我们使用while循环逐位相加它们,并将结果存储在一个数组中。

  1. import java.util.Scanner;
  2. public class JavaExample {
  3. public static void main(String[] args)
  4. {
  5. //Two variables to hold two input binary numbers
  6. long b1, b2;
  7. int i = 0, carry = 0;
  8. //This is to hold the output binary number
  9. int[] sum = new int[10];
  10. //To read the input binary numbers entered by user
  11. Scanner scanner = new Scanner(System.in);
  12. //getting first binary number from user
  13. System.out.print("Enter first binary number: ");
  14. b1 = scanner.nextLong();
  15. //getting second binary number from user
  16. System.out.print("Enter second binary number: ");
  17. b2 = scanner.nextLong();
  18. //closing scanner after use to avoid memory leak
  19. scanner.close();
  20. while (b1 != 0 || b2 != 0)
  21. {
  22. sum[i++] = (int)((b1 % 10 + b2 % 10 + carry) % 2);
  23. carry = (int)((b1 % 10 + b2 % 10 + carry) / 2);
  24. b1 = b1 / 10;
  25. b2 = b2 / 10;
  26. }
  27. if (carry != 0) {
  28. sum[i++] = carry;
  29. }
  30. --i;
  31. System.out.print("输出: ");
  32. while (i >= 0) {
  33. System.out.print(sum[i--]);
  34. }
  35. System.out.print("\n");
  36. }
  37. }

输出:

  1. Enter first binary number: 11100
  2. Enter second binary number: 10101
  3. 输出: 110001

Eclipse IDE 中的相同程序:

Java 程序:相加两个二进制数 - 图2

Eclipse 中程序的输出:

Java 程序:相加两个二进制数 - 图3

以下是一些相关的 java 示例:

  1. Java 程序:相加两个复数
  2. Java 程序:相加两个数字
  3. Java 程序:相加数十进制数字