Java
 Computer >> コンピューター >  >> プログラミング >> Java

2つのバイナリ文字列を追加するJavaプログラム


この記事では、Javaで2つのバイナリ文字列を追加する方法を理解します。バイナリ文字列は、バイト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

ここでは、プロンプトに基づいてユーザーが入力を入力しています。この例は、コーディンググラウンドツールでライブで試すことができます 2つのバイナリ文字列を追加するJavaプログラム

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

  1. C++で2つのバイナリ文字列を追加するプログラム

    2進数の文字列が2つある場合、それら2つの2進数文字列を加算して得られた結果を見つけ、その結果を2進数文字列として返す必要があります。 2進数は、0または1のいずれかで表される数値です。2つの2進数を加算する際には、2進数の加算規則があります。 0+0 → 0 0+1 → 1 1+0 → 1 1+1 → 0, carry 1 入力 str1 = {“11”}, str2 = {“1”} 出力 “100” 入力 str1 = {“110”},

  2. 2つの数値を追加するPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 2つの大きな数が与えられ、それらを追加して出力を表示する必要があります。 ブルートフォースアプローチでは、オペランド間に「+」演算子を使用するか、2つの数値を反復可能に格納して、Python標準ライブラリで使用可能な組み込みのsum関数を使用できます。 このアプローチでは、計算が10進数で直接行われるため、時間計算量が増加します。 次に、10進数のビットを処理する別のアプローチについて説明します。 ここでは、合計とキャリーを計算する加算器の概念を使用します。 それでは、実装を見