首页  > 教育解读  > java如何将十进制转二进制

java如何将十进制转二进制

2025-05-09 02:52:14
考官何老师
考官何老师已认证

考官何老师为您分享以下优质知识

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

一、使用内置方法(推荐)

Java提供了`Integer`类的`parseInt`方法,可快速完成转换。该方法接受两个参数:二进制字符串和基数(2)。

示例代码:

```java

import java.util.Scanner;

public class BinaryToDecimal {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.print("请输入二进制数:");

String binaryString = scanner.nextLine();

int decimal = Integer.parseInt(binaryString, 2);

System.out.println("十进制结果:" + decimal);

}

}

```

优点:

简单易用,代码简洁

支持处理大整数(受`int`类型限制)

二、手动实现转换逻辑

通过逐位计算二进制数的十进制值,适用于学习算法或处理特殊需求。

示例代码:

```java

public class BinaryToDecimalManual {

public int binaryToDecimal(int binaryNumber) {

int decimal = 0;

int power = 0;

while (binaryNumber >

0) {

int digit = binaryNumber % 10;

if (digit != 0 && digit != 1) {

throw new IllegalArgumentException("输入的不是二进制数");

}

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

binaryNumber /= 10;

power++;

}

return decimal;

}

public static void main(String[] args) {

BinaryToDecimal converter = new BinaryToDecimalManual();

System.out.println("1101 转十进制:" + converter.binaryToDecimal(1101));

}

}

```

步骤说明:

1. 从右至左遍历二进制数的每一位

2. 将每一位数字乘以2的位数次方(0次方、1次方、2次方……)

3. 将所有结果相加得到十进制数

注意事项:

需处理输入验证,确保二进制数仅包含0和1

适用于小整数转换,大数需使用`Long`类型或`BigInteger`

总结

优先使用`Integer.parseInt`方法,代码简洁高效;若需自定义逻辑或处理特殊场景,可手动实现转换。