如何把二进制数改成十进制数java

如何把二进制数改成十进制数java

作者:Elara发布时间:2026-02-04阅读时长:0 分钟阅读次数:1

用户关注问题

Q
Java中如何将二进制字符串转换为十进制整数?

我有一个表示二进制数的字符串,想用Java代码将其转换为对应的十进制整数,应该怎么做?

A

使用Integer.parseInt方法实现二进制转十进制

Java中可以使用Integer.parseInt(String s, int radix)方法,将二进制字符串转换为十进制整数。这里参数radix传入2,表示二进制。例如:int decimal = Integer.parseInt("1101", 2);这样decimal的值就是13。

Q
Java如何处理大于32位的二进制数转换为十进制?

当二进制数超过32位时,直接用Integer.parseInt会报错,如何在Java中正确转换更长的二进制数?

A

使用Long.parseLong或者BigInteger类进行转换

对于超过32位的二进制数,可以使用Long.parseLong方法,它支持64位以内的二进制转换。超过64位时,使用BigInteger的构造方法,比如new BigInteger(binaryString, 2),能支持任意长度的二进制字符串转换成十进制数。

Q
Java中怎么确保二进制字符串合法再转换?

我在做二进制转十进制时担心输入的字符串可能包含非0或1字符,如何先验证字符串是合法的二进制格式?

A

利用正则表达式校验二进制字符串

可以用正则表达式来检查字符串是否只包含0和1。示例代码:boolean isBinary = binaryString.matches("[01]+");只有当isBinary为true时,再进行转换操作,这样可以避免因非法字符导致的转换异常。