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

Sheeraz Gul 2023年10月12日
  1. Java でビット単位の演算子を使用して 10 進数を 2 進数に変換する
  2. Java で配列を使用して 10 進数を 2 進数に変換する
  3. Java で Math.pow() を使用して 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
著者: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook