Java で Int を Binary に変換する

Rupam Yadav 2023年10月12日
  1. Integer.toBinaryString() を使用して Int をバイナリに変換する
  2. Integer.toString() を使用して Int をバイナリに変換する
  3. StringBuilder とループを使用して Int をバイナリに変換する
Java で Int を Binary に変換する

2 進数は、01 の 2 桁の 2 進数で表されます。以下にリストされている 3つの方法を使用して、Java で int 値をバイナリ値に変換できます。

Integer.toBinaryString() を使用して Int をバイナリに変換する

int 値をバイナリに変換する最も一般的で最も簡単な方法は、Integer クラスの toBinaryString() 関数を使用することです。Integer.toBinaryString()int 型の引数を取ります。

プログラムでは、int 値を変数 numInt に格納し、それを引数として Integer.toBinaryString() メソッドに渡し、String を返します。

public class JavaExample {
  public static void main(String[] args) {
    int numInt = 150;
    String binaryString = Integer.toBinaryString(numInt);
    System.out.println(binaryString);
  }
}

出力:

10010110

Integer.toString() を使用して Int をバイナリに変換する

この例では、Integer クラスメソッドの別のメソッドである toString() メソッドを使用します。

Integer.toString() は 2つの引数を取り、2 番目の引数はオプションです。最初の引数は String に変換する値であり、2 番目の引数は変換の基数値です。

このプログラムでは、toString() 関数の両方の引数を使用して、2 進数の 01 を表す基数 2 を指定する必要があります。簡単に言うと、基数 2 を使用すると、int01 のみを表す String 値に変換されます。

numInt のバイナリ表現である結果を出力します。

public class JavaExample {
  public static void main(String[] args) {
    int numInt = 200;
    String binaryString = Integer.toString(numInt, 2);
    System.out.println(binaryString);
  }
}

出力:

11001000

StringBuilder とループを使用して Int をバイナリに変換する

最後のプログラムは従来のアプローチを採用しています。組み込み関数を使用して int 値をバイナリに変換する代わりに、同じジョブを実行する関数を作成します。

以下のコードでは、変換するパラメーターとして int 値を受け取る関数 convertIntToBinary() を作成します。関数の戻り型を String として設定します。

convertIntToBinary() メソッド内で、最初に int 変数 numInt がゼロを保持しているかどうかを確認します。そうである場合、int0 のバイナリ表現も 0 であるため、0 を返します。ゼロ以外の整数値の場合は、StringBuilder クラスと while ループを作成します。

numInt がゼロより大きくなるまでループを実行します。ループでは、3つのステップを実行します。1つ目は、numInt % 2 を使用して numInt の残りを検索し、remainder の値を StringBuilder に追加することです。

最後のステップでは、numInt 値を 2 で除算し、numInt 自体に格納します。すべての手順を実行してループから抜けたら、stringBuilder 値を逆にして正しい結果を取得し、stringBuilder 値を String に変換した後に結果を返します。

main() メソッドでは、ユーザーの入力を取得して、バイナリ結果を返す convertIntToBinary() メソッドに渡します。

import java.util.Scanner;

public class JavaExample {
  public static void main(String[] args) {
    System.out.println("Enter a number to convert it to a binary: ");
    Scanner scanner = new Scanner(System.in);
    int getIntNum = scanner.nextInt();

    String getConvertedResult = convertIntToBinary(getIntNum);
    System.out.println("Converted Binary: " + getConvertedResult);
  }

  static String convertIntToBinary(int numInt) {
    if (numInt == 0)
      return "0";

    StringBuilder stringBuilder = new StringBuilder();

    while (numInt > 0) {
      int remainder = numInt % 2;
      stringBuilder.append(remainder);
      numInt /= 2;
    }

    stringBuilder = stringBuilder.reverse();
    return stringBuilder.toString();
  }
}

出力:

Enter a number to convert it to a binary: 
150
Converted Binary: 10010110
著者: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

関連記事 - Java Integer

関連記事 - Java Binary