You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中将十进制列表转换为带前导零的二进制?

十进制转带前导零的二进制列表代码修正

你的代码丢失前导零的原因是把二进制字符串转成了整数——整数本身不保留前导零,所以要直接生成固定长度的二进制字符串来解决这个问题。

修正后的代码

def dec_to_bin(x):
    for a in range(len(x)):
        # 转换为8位带前导零的二进制字符串,如需其他长度可修改数字(比如016b对应16位)
        x[a] = format(x[a], '08b')
    return x

# 测试示例
input_list = [6, 7, 2, 11, 14, 15, 10, 3, 6, 7, 2, 11, 14, 15, 10, 3]
print(dec_to_bin(input_list))

关键说明

  • format(num, '08b')是核心逻辑:b指定输出二进制格式,08表示总长度为8位,数值不足时自动在左侧补前导零。
  • 不要将结果转为整数,直接保留字符串类型,这样前导零才会被完整保留。

原代码问题点

你之前用int(bin(keluar)[2:])把二进制字符串转成了整数,而整数的存储和展示会自动忽略前导零,这就是导致前导零丢失的根本原因。

内容的提问来源于stack exchange,提问作者HelpMeInDjango

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 15:20:41