如何将 python 中的十进制值转换为二进制值?
How can I convert decimal to binary values in python?
我是 python 的新手,我开发了一个函数,当代码函数等于 1 时检索十进制值并将它们转换为二进制值,但问题是它 returns一个空列表,而列表包含一个值。我必须要一份完整的清单
函数如下:
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
这是将十进制数转换为二进制数的方法。
binary_number = '0:05b'.format(int(decimal))
或者如果 decimal_number 不在字符串中则直接执行此操作。
binary_number = '0:05b'.format(decimal)
'0:05b'
,冒号前的零连接零,例如,如果有 5 个位数,则 5 = 01001
的二进制,但在冒号前写零给出 1001
。和冒号后的 05
描述您想要的位数。
我是 python 的新手,我开发了一个函数,当代码函数等于 1 时检索十进制值并将它们转换为二进制值,但问题是它 returns一个空列表,而列表包含一个值。我必须要一份完整的清单
函数如下:
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
这是将十进制数转换为二进制数的方法。
binary_number = '0:05b'.format(int(decimal))
或者如果 decimal_number 不在字符串中则直接执行此操作。
binary_number = '0:05b'.format(decimal)
'0:05b'
,冒号前的零连接零,例如,如果有 5 个位数,则 5 = 01001
的二进制,但在冒号前写零给出 1001
。和冒号后的 05
描述您想要的位数。