python打印二进制内容_在python中打印出c类型的二进制表示
您可以使用切片(或str.rstrip),int和format的組合.
>>> inp = '0x0202020202UL'
>>> format(int(inp[:-2], 16), 'b')
'1000000010000000100000001000000010'
# Using `str.rstrip`, This will work for any hex, not just UL
>>> format(int(inp.rstrip('UL'), 16), 'b')
'1000000010000000100000001000000010'
更新:
from itertools import islice
def formatted_bin(inp):
output = format(int(inp.rstrip('UL'), 16), 'b')
le = len(output)
m = le % 4
padd = 4 - m if m != 0 else 0
output = output.zfill(le + padd)
it = iter(output)
return ' '.join(''.join(islice(it, 4)) for _ in xrange((le+padd)/4))
print formatted_bin('0x0202020202UL')
print formatted_bin('0x10')
print formatted_bin('0x101010')
print formatted_bin('0xfff')
輸出:
0010 0000 0010 0000 0010 0000 0010 0000 0010
0001 0000
0001 0000 0001 0000 0001 0000
1111 1111 1111
總結(jié)
以上是生活随笔為你收集整理的python打印二进制内容_在python中打印出c类型的二进制表示的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: c语言去字母的其中三个,请问这个用c怎么
- 下一篇: 函数运行 形参实参变化 内存空间_可能p