Java十进制到二进制转换的3种不同方法。
1. Integer.toString()方法
我们可以使用Integer类的toString()方法将十进制数转换为二进制数。此方法有两个参数,第一个参数是十进制数,第二个参数是我们要转换的基数。对于二进制,基数为2。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
import java.util.Scanner;
public class JavaD2B {
public static void main(String args[]){
int number;
Scanner sc = new Scanner(System.in);
System.out.println("Enter a decimal number: ");
number = sc.nextInt();
System.out.println("Binary number is " + Integer.toString(number, 2));
}
}
|
输出量
输入十进制数字:
8
二进制数字为1000
2. Integer.toBinaryString()
这是Integer类的另一种方法,可以直接将十进制转换为二进制。请参阅下面的程序以了解如何使用它。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
import java.util.Scanner;
public class JavaD2B {
public static void main(String args[]){
int number;
Scanner sc = new Scanner(System.in);
System.out.println("Enter a decimal number: ");
number = sc.nextInt();
System.out.println("Binary number is " + Integer.toBinaryString(number));
}
}
|
输出量
输入十进制数字:
10
二进制数字为1010
3.自己的逻辑
我们可以在Java中编写自己的逻辑,将十进制转换为二进制。可以通过以下步骤完成。
- 使用%运算符将数字除以2,并将剩余的数存储在某个位置。
- 使用/运算符将数字除以2。
- 重复上述两个步骤,直到数字变为0。
- 现在,以相反的顺序打印其余部分。
下面的程序实现了这个简单的算法。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class JavaD2B {
public static void main(String args[]){
int number;
Scanner sc = new Scanner(System.in);
ArrayList<String> binary = new ArrayList<String>();
System.out.println("Enter a decimal number: ");
number = sc.nextInt();
while(number != 0){
binary.add(String.valueOf(number%2));
number /= 2;
}
Collections.reverse(binary);
System.out.print("Binary number is ");
for(String s : binary){
System.out.print(s);
}
}
}
|
输出量
输入十进制数字:
2
二进制数字为10