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