首页  > 教育解读  > java如何用二进制输出十进制

java如何用二进制输出十进制

2025-05-07 20:44:04
诚信公仆
诚信公仆已认证

诚信公仆为您分享以下优质知识

在Java中,将二进制转换为十进制主要有以下两种方法:

一、使用 `Integer.parseInt()` 方法(推荐)

这是最简洁、最常用的方法,适用于已知二进制字符串的情况。

示例代码:

```java

public class BinaryToDecimal {

public static void main(String[] args) {

String binaryString = "101010"; // 二进制字符串

int decimal = Integer.parseInt(binaryString, 2); // 指定基数为2

System.out.println("十进制数: " + decimal); // 输出42

}

}

```

说明:

`Integer.parseInt(String s, int radix)` 方法将二进制字符串转换为十进制整数,第二个参数 `2` 表示二进制基数。

二、手动实现转换逻辑

通过循环逐位计算,适用于需要自定义转换过程或处理动态输入的情况。

示例代码:

```java

public class BinaryToDecimalManual {

public static int binaryToDecimal(String binary) {

int decimal = 0;

int power = 0;

for (int i = binary.length() - 1; i >

= 0; i--) {

char bit = binary.charAt(i);

if (bit == '1') {

decimal += Math.pow(2, power);

}

power++;

}

return decimal;

}

public static void main(String[] args) {

String binaryString = "1101"; // 二进制字符串

int decimal = binaryToDecimal(binaryString);

System.out.println("十进制数: " + decimal); // 输出13

}

}

```

说明:

从右至左遍历二进制字符串,每位为 `1` 时乘以 `2` 的对应次方(`2^0, 2^1, ...`),并累加结果。

补充说明

输入验证:若需确保输入为有效二进制数,可结合 `Integer.parseInt()` 的异常处理机制,或手动检查每位是否为 `0` 或 `1`(如方法1中的示例)。

其他进制转换:Java还支持 `Integer.parseInt(String s, int radix)` 方法转换八进制(基数8)和十六进制(基数16)。

以上方法均可实现二进制到十进制的转换,选择时可根据具体需求(如代码简洁性、输入动态性等)决定。