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 での整数の最小値と最大値