Java で Int を Binary に変換する
-
Integer.toBinaryString()を使用して Int をバイナリに変換する -
Integer.toString()を使用して Int をバイナリに変換する -
StringBuilderとループを使用して Int をバイナリに変換する
2 進数は、0 と 1 の 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 進数の 0 と 1 を表す基数 2 を指定する必要があります。簡単に言うと、基数 2 を使用すると、int は 0 と 1 のみを表す 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 がゼロを保持しているかどうかを確認します。そうである場合、int の 0 のバイナリ表現も 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 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 での整数オーバーフローとアンダーフローの処理
- Java での整数の最大値
- Java で Int を Ascii に変換する
- Java で Integer を Int に変換する
- Java での整数の最小値と最大値
