Java 程序添加两个二进制字符串


在本文中,我们将了解如何在 Java 中添加两个二进制字符串。二进制字符串是以字节为单位用 0 和 1 表示的数字序列。

以下是对此的演示 -

输入

假设我们的输入是 -

10101
10001

输出

期望的输出为 -

100110

算法

Step 1- START
Step 2- Create new scanner object
Step 3- Enter two binary inputs
Step 4- Define a carry flag
Step 5- Use while condition to check if they are equal to 0
Step 6- If not, use the % operator and the carry flag to perform bitwise addition
Step 7-Display it as result
Step 8-STOP

示例 1

在此,根据提示输入由用户输入。你可以在我们的编码基础工具 run button中练习此示例。

import java.util.*;
public class AddBinaryNumbers {
   public static void main(String[] args) {
      long binary_input_1 , binary_input_2 ;
      System.out.println("Required packages have been imported");
      Scanner input = new Scanner(System.in);
      System.out.println("A reader object has been defined ");
      System.out.print("Enter the first binary number : ");
      binary_input_1 = input.nextLong();
      System.out.print("Enter the second binary number : ");
      binary_input_2 = input.nextLong();
      int i, carry ;
      i = 0;
      carry = 0;
      int[] binary_sum = new int[10];
      while (binary_input_1 != 0 || binary_input_2 != 0) {
         binary_sum[i++] = (int) (carry + (binary_input_1 % 10 + binary_input_2 % 10) % 2);
         carry = (int) ((binary_input_1 % 10 + binary_input_2 % 10 + carry) / 2);
         binary_input_1 = binary_input_1 / 10;
         binary_input_2 = binary_input_2 / 10;
      }
      if (carry != 0) {
         binary_sum[i++] = carry;
      }
      --i;
      System.out.print("\nThe sum of the binary numbers is: ");
      while (i >= 0) {
         System.out.print(binary_sum[i--]);
      }
      System.out.print("\n");
   }
}

输出

Required packages have been imported
A reader object has been defined
The first binary number is 10101
The second binary number is 10001
The sum of the binary is: 100110

示例 2

在此,整数已预先定义,并且访问并显示其值至控制台。

public class AddingBinaryNumbers {
   public static void main(String[] args) {
      long binary_input_1 , binary_input_2 ;
      binary_input_1 = 10101;
      binary_input_2 = 10001;
      System.out.print("The first binary number is " + binary_input_1);
      System.out.print("\nThe second binary number is " + binary_input_2);
      int i, carry ;
      i = 0;
      carry = 0;
      int[] binary_sum = new int[10];
      while (binary_input_1 != 0 || binary_input_2 != 0) {
         binary_sum[i++] = (int) (carry + (binary_input_1 % 10 + binary_input_2 % 10) % 2);
         carry = (int) ((binary_input_1 % 10 + binary_input_2 % 10 + carry) / 2);
         binary_input_1 = binary_input_1 / 10;
         binary_input_2 = binary_input_2 / 10;
      }
      if (carry != 0) {
         binary_sum[i++] = carry;
      }
      --i;
      System.out.print("\nThe sum of the binary numbers is: ");
      while (i >= 0) {
         System.out.print(binary_sum[i--]);
      }
      System.out.print("\n");
   }
}

输出

The first binary number is 10101
The second binary number is 10001
The sum of the binary numbers is: 100110

更新日期:2022-02-21

3K+ 浏览次数

开启你的职业生涯

通过完成课程获得认证

开始
广告