如何将8位二进制列表的列表转换为十进制列表?
解法:将8位二进制列表列表转换为十进制整数列表
核心思路
每个子列表是8位二进制位的序列,转换逻辑分为三步:
- 将子列表中的整数元素转为字符串并拼接成完整二进制串
- 以二进制为基数,将字符串转换为十进制整数
- 遍历所有子列表完成批量转换
Python 实现代码
# 输入的二进制列表列表 binary_groups = [[0, 1, 1, 0, 0, 1, 0, 1], [0, 1, 1, 1, 0, 1, 1, 1]] # 批量转换为十进制列表 decimal_result = [int(''.join(map(str, bits)), 2) for bits in binary_groups] print(decimal_result) # 输出: [101, 119]
代码细节解释
map(str, bits):把列表里的每个二进制位(整数)转为字符串,为后续拼接做准备''.join(...):将单个的二进制位字符串拼接成完整的8位二进制串(例如[0,1,1,0,0,1,0,1]变为"01100101")int(binary_str, 2):指定基数为2,将二进制字符串解析为对应的十进制整数- 列表推导式:高效遍历所有子列表,一次性生成结果列表
JavaScript 实现代码
如果需要在前端环境实现,可参考以下代码:
const binaryGroups = [[0, 1, 1, 0, 0, 1, 0, 1], [0, 1, 1, 1, 0, 1, 1, 1]]; const decimalResult = binaryGroups.map(bits => parseInt(bits.join(''), 2)); console.log(decimalResult); // 输出: [101, 119]
内容的提问来源于stack exchange,提问作者Makuchi
相关产品推荐
相关产品推荐

