如何将任意二进制字符串转换为十进制整数?附实例解析
二进制字符串转十进制整数的实现方法
不管二进制字符串带不带前导零,都能通过内置函数或手动计算转成十进制整数,以下是几种常用语言的实用方案:
1. 用语言内置函数(最便捷)
内置函数会自动忽略前导零,直接解析整个字符串:
Python
binary_str = "00110011" decimal_num = int(binary_str, 2) print(decimal_num) # 输出:51
int()的第二个参数指定输入字符串的进制为2,直接返回对应十进制整数。
JavaScript
const binaryStr = "00110011"; const decimalNum = parseInt(binaryStr, 2); console.log(decimalNum); // 输出:51
parseInt()第二个参数设为2,即可将二进制字符串解析为十进制数。
Java
public class BinaryConverter { public static void main(String[] args) { String binaryStr = "00110011"; int decimalNum = Integer.parseInt(binaryStr, 2); System.out.println(decimalNum); // 输出:51 } }
如果二进制字符串长度超出int范围,可改用Long.parseLong(binaryStr, 2)。
2. 手动实现(理解底层逻辑)
要是想自己实现进制转换逻辑,核心思路是:遍历二进制字符串每一位,每一步将当前结果乘以2(模拟进位),再加当前位的数值:
binary_str = "00110011" decimal_num = 0 for bit in binary_str: decimal_num = decimal_num * 2 + int(bit) print(decimal_num) # 输出:51
这种方式也能正确处理前导零,因为前导零参与计算时,decimal_num会保持为0,直到遇到第一个1才开始累加。
内容的提问来源于stack exchange,提问作者Aditya Dixit
相关产品推荐
相关产品推荐

