如何在python中将十进制转换为二进制值?

问题描述 投票:0回答:1

我是python的新手,我开发了一个函数,当代码函数等于1时,该函数检索十进制值并将其转换为二进制值,但问题是当列表包含值时,它返回一个空列表。我必须获得完整列表

这里是功能:

def coil_val_list(s):
    v = []
    r = []
    i = []
    for p in s:
        if p.haslayer('ModbusADUResponse'):
            try:
                if p['ModbusADUResponse'][1].funcCode == 1:
                    # r = reg_val_list_binary(s)
                    r = v.extend(p['ModbusADUResponse'][1].coilStatus)
                    for i in r:
                        if i == 1:
                            v.extend([1,0,0])
                        else:
                            v += [int(bit)
                    for bit in str( bin(i) )[2:].zfill(8)] [::-1]
            except AttributeError:
                pass
    return v 
python list binary decimal data-conversion
1个回答
0
投票

这是将十进制数字转换为二进制的方法。

binary_number = '0:05b'.format(int(decimal))

或者如果十进制数不在字符串中,则直接执行此操作。

binary_number = '0:05b'.format(decimal)

'0:05b',冒号之前的零连接零,例如,如果有5个位数,则二进制数为5 = 01001,但在冒号之前写零则给出1001。和冒号后面的05描述所需的位数。

© www.soinside.com 2019 - 2024. All rights reserved.