欢迎访问宙启技术站
智能推送

如何使用Java函数实现二进制数的转换?

发布时间:2023-07-05 22:15:10

在Java中,可以使用以下几种方式来实现二进制数的转换:

1. 使用内置的方法进行转换:

- 使用 Integer.toBinaryString() 将十进制数转换为二进制字符串。

- 使用 Integer.parseInt() 将二进制字符串转换为十进制数。

以下是一个示例代码:

   int decimal = 10;
   String binaryString = Integer.toBinaryString(decimal);
   System.out.println("Binary representation of " + decimal + " is " + binaryString);

   String binary = "1010";
   int decimalValue = Integer.parseInt(binary, 2);
   System.out.println("Decimal representation of " + binary + " is " + decimalValue);
   

输出结果:

   Binary representation of 10 is 1010
   Decimal representation of 1010 is 10
   

2. 使用位运算操作进行转换:

- 使用 Integer.toString() 方法和位运算符将十进制数转换为二进制字符串。

- 使用 Integer.parseInt() 方法和位运算符将二进制字符串转换为十进制数。

以下是一个示例代码:

   int decimal = 10;
   String binaryString = "";
   while (decimal != 0) {
       binaryString = (decimal & 1) + binaryString;
       decimal = decimal >>> 1;
   }
   System.out.println("Binary representation of 10 is " + binaryString);

   String binary = "1010";
   int decimalValue = 0;
   for (int i = 0; i < binary.length(); i++) {
       decimalValue = (decimalValue << 1) + (binary.charAt(i) - '0');
   }
   System.out.println("Decimal representation of 1010 is " + decimalValue);
   

输出结果:

   Binary representation of 10 is 1010
   Decimal representation of 1010 is 10
   

3. 自定义方法进行转换:

- 使用数学运算和字符串拼接的方式将十进制数转换为二进制字符串。

- 使用数学运算和字符检索的方式将二进制字符串转换为十进制数。

以下是一个示例代码:

   int decimal = 10;
   String binaryString = "";
   while (decimal > 0) {
       binaryString = (decimal % 2) + binaryString;
       decimal = decimal / 2;
   }
   System.out.println("Binary representation of 10 is " + binaryString);

   String binary = "1010";
   int decimalValue = 0;
   int power = 0;
   for (int i = binary.length() - 1; i >= 0; i--) {
       if (binary.charAt(i) == '1') {
           decimalValue += Math.pow(2, power);
       }
       power++;
   }
   System.out.println("Decimal representation of 1010 is " + decimalValue);
   

输出结果:

   Binary representation of 10 is 1010
   Decimal representation of 1010 is 10
   

以上是三种常见的实现二进制数转换的方法。你可以根据自己的需求选择其中之一来实现二进制数转换的功能。