【问题标题】:how to make binary to bit 8 in python如何在python中将二进制转换为第8位
【发布时间】:2022-11-03 02:03:59
【问题描述】:

我有变量包含二进制类型 int ([101, 1101, 11001]) 但我想用另一个变量对它进行异或,所以我必须更改为字符串并添加“0”所以它有 8 个数字 例如 101 它会变成 00000101

我正在尝试将 int 更改为 str 但它无法正常工作。这是我的代码:

def bit8(input):
    print(input)
    y = str(input)
    print(y)

    index = 0

    for index, a in enumerate(y):
        y[index] = a + "0"

    return y[index]

输入将包含数组 [101, 1101, 11001] 并将变为 ["00000101", "00001101", "00011001"] 这个想法是我将它们拆分,我将添加“0”并将其再次保存到新数组中

但我不知道该怎么做。请帮我

【问题讨论】:

  • 好奇为什么要添加一个 0,或者您的意思是添加足够多的 0 来填充 8 位?
  • 我想添加足够的 0 到 8 位 @Carl_M

标签: python string binary bit converters


【解决方案1】:

你可以试试format

l =[101, 1101, 11001]

c = "{:08d}".format
print([c(item) for item in l])

输出 #

['00000101', '00001101', '00011001']

作为一个函数

def bit8(input):
    c = "{:08d}".format
    ou=([c(item) for item in input])

    return ou

驱动程序代码

print(bit8(l))

zfill 也可以

l =[101, 1101, 11001]


def bit8(input):
    ou2=[str(item).zfill(8) for item in input]
    return ou2

驱动程序代码#

print(bit8(l))

zfill 方法的输出#

['00000101', '00001101', '00011001']

【讨论】:

  • 哦,是的,这是工作。如何知道数组类型是否为字符串?
猜你喜欢
  • 1970-01-01
  • 2018-09-15
  • 1970-01-01
  • 2018-06-24
  • 2019-09-09
  • 2013-10-15
  • 1970-01-01
  • 1970-01-01
  • 2021-04-18
相关资源
最近更新 更多