在 Java 中将十进制转换为二进制
Sheeraz Gul
2023年10月12日
在 Java 中将十进制转换为二进制有不同的方法。本教程演示了如何在 Java 中将十进制转换为二进制的不同方法。
我们可以使用 Java 中的按位运算符、数组和 Math.pow()
方法将十进制数转换为二进制数。
在 Java 中使用位运算符将十进制转换为二进制
位运算符通常比算术运算符工作得更快。它们还可以用于在 Java 中将十进制转换为二进制。参见示例:
Java
javaCopypackage 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);
}
}
上面的代码将输入一个十进制数字并将该数字转换为二进制。查看输出:
textCopyPlease enter a number
50
The Input Decimal Number : 50
The Output Binary Number : 00000000000011001000000000000000000000000000110010
在 Java 中使用数组将十进制转换为二进制
按照以下步骤使用 Java 中的数组将十进制数转换为二进制数。
让我们根据上述步骤尝试一个示例。
Java
javaCopypackage 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);
}
}
上面的代码将输入一个十进制数字并将该数字转换为二进制。见输出:
textCopyPlease enter a number
33
The Input Decimal Number :33
The Output Binary Number : 100001
在 Java 中使用 Math.pow()
将十进制转换为二进制
Math.pow()
方法还可以将十进制数转换为二进制数。让我们尝试一个例子。
Java
javaCopypackage 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));
}
}
上面的代码将输入一个十进制数字并将该数字转换为二进制。见输出:
textCopyPlease enter a number
65
The Input Decimal Number : 65
The Output Binary Number : 1000001
作者: Sheeraz Gul
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