在 Java 中将十进制转换为二进制

Sheeraz Gul 2023年1月30日 2022年5月31日
  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
Author: 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