HOWTO · Java

Java で 10 進数から 2 進数への変換

このチュートリアルでは、Java で 10 進数を 2 進数に変換する方法を示します。

このページの内容

Java で 10 進数を 2 進数に変換するには、さまざまなアプローチがあります。このチュートリアルでは、Java で 10 進数を 2 進数に変換するさまざまな方法を示します。

Java のビット単位の演算子、配列、および Math.pow() メソッドを使用して、10 進数を 2 進数に変換できます。

Java でビット単位の演算子を使用して 10 進数を 2 進数に変換する

ビットワイズ演算子は通常、算術演算子よりも高速に動作します。また、Java で 10 進数を 2 進数に変換するために使用することもできます。例を参照してください。

package delftstack;

import java.util.Scanner;

class Delftstack {
  public void DecimalToBinary(int number) {
    // Size of the integer is 32 bits
    for (int x = number - 1; x >= 0; x--) {
      int k = number >> x;
      if ((k & 1) > 0) {
        System.out.print("1");
      } else {
        System.out.print("0");
      }
    }
  }
}

public class Decimal_to_Binary {
  public static void main(String[] args) {
    Delftstack Demo = new Delftstack();
    System.out.println("Please enter a number");
    Scanner New_Number = new Scanner(System.in);
    int number = New_Number.nextInt();
    System.out.println("The Input Decimal Number : " + number);
    System.out.print("The Output Binary Number : ");
    Demo.DecimalToBinary(number);
  }
}

上記のコードは、10 進数を入力し、その数値を 2 進数に変換します。出力を参照してください。

Please enter a number
50
The Input Decimal Number : 50
The Output Binary Number : 00000000000011001000000000000000000000000000110010

Java で配列を使用して 10 進数を 2 進数に変換する

以下の手順に従って、Java の配列を使用して 10 進数を 2 進数に変換します。

  • まず、数を 2 で割ったときの残りを配列に格納します。
  • 次に、その数を 2 で割ります。
  • 次に、数値が 0 より大きくなるまで、上記の手順を繰り返します。
  • 最後に、配列を逆の順序で表示します。

上記の手順に基づいた例を試してみましょう。

package delftstack;
import java.io.*;
import java.util.Scanner;

class Decimal_to_Binary {
  static void DecimalToBinary(int number) {
    // an array which will store the binary number
    int[] Binary_Number = new int[1000];

    int x = 0;
    while (number > 0) {
      // store the remainder in the array
      Binary_Number[x] = number % 2;
      number = number / 2;
      x++;
    }

    // print the final array in reverse order
    for (int y = x - 1; y >= 0; y--) System.out.print(Binary_Number[y]);
  }

  public static void main(String[] args) {
    System.out.println("Please enter a number");
    Scanner New_Number = new Scanner(System.in);
    int number = New_Number.nextInt();
    System.out.println("The Input Decimal Number :" + number);
    System.out.print("The Output Binary Number : ");
    DecimalToBinary(number);
  }
}

上記のコードは、10 進数を入力し、その数値を 2 進数に変換します。出力を参照してください:

Please enter a number
33
The Input Decimal Number :33
The Output Binary Number : 100001

Java で Math.pow() を使用して 10 進数を 2 進数に変換する

Math.pow() メソッドは、10 進数を 2 進数に変換することもできます。例を見てみましょう。

package delftstack;
import java.io.*;
import java.util.Scanner;

public class Decimal_to_Binary {
  static int DecimalToBinary(int number) {
    int Binary_number = 0;
    int count = 0;
    while (number != 0) {
      int remainder = number % 2;
      double temp = Math.pow(10, count);
      Binary_number += remainder * temp;
      number /= 2;

      count++;
    }

    return Binary_number;
  }

  public static void main(String[] args) {
    System.out.println("Please enter a number");
    Scanner New_Number = new Scanner(System.in);
    int number = New_Number.nextInt();
    System.out.println("The Input Decimal Number : " + number);
    System.out.print("The Output Binary Number : ");
    System.out.println(DecimalToBinary(number));
  }
}

上記のコードは、10 進数を入力し、その数値を 2 進数に変換します。出力を参照してください:

Please enter a number
65
The Input Decimal Number : 65
The Output Binary Number : 1000001