在 Java 中將十進位制轉換為二進位制

Sheeraz Gul 2023年10月12日
  1. 在 Java 中使用位運算子將十進位制轉換為二進位制
  2. 在 Java 中使用陣列將十進位制轉換為二進位制
  3. 在 Java 中使用 Math.pow() 將十進位制轉換為二進位制
在 Java 中將十進位制轉換為二進位制

在 Java 中將十進位制轉換為二進位制有不同的方法。本教程演示瞭如何在 Java 中將十進位制轉換為二進位制的不同方法。

我們可以使用 Java 中的按位運算子、陣列和 Math.pow() 方法將十進位制數轉換為二進位制數。

在 Java 中使用位運算子將十進位制轉換為二進位制

位運算子通常比算術運算子工作得更快。它們還可以用於在 Java 中將十進位制轉換為二進位制。參見示例:

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);
  }
}

上面的程式碼將輸入一個十進位制數字並將該數字轉換為二進位制。檢視輸出:

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

在 Java 中使用陣列將十進位制轉換為二進位制

按照以下步驟使用 Java 中的陣列將十進位制數轉換為二進位制數。

  • 首先,將數字除以 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);
  }
}

上面的程式碼將輸入一個十進位制數字並將該數字轉換為二進位制。見輸出:

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

在 Java 中使用 Math.pow() 將十進位制轉換為二進位制

Math.pow() 方法還可以將十進位制數轉換為二進位制數。讓我們嘗試一個例子。

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));
  }
}

上面的程式碼將輸入一個十進位制數字並將該數字轉換為二進位制。見輸出:

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