Python: Choose number of bits to represent binary number
我很好奇如何改变位数来表示一个二进制数。例如,假设我要将十进制1表示为二进制。我使用:
箱(1)并获得0B1。
我怎样才能让报税表显示0b01、0b001或0b0001等?
使用格式字符串语法:
1 2 3 4 5 6 | >>> format(1, '#04b') '0b01' >>> format(1, '#05b') '0b001' >>> format(1, '#06b') '0b0001' |
您可以使用str.zfill填充二进制部分:
1 2 3 | def padded_bin(i, width): s = bin(i) return s[:2] + s[2:].zfill(width) |
我不相信有一种内在的方法可以做到这一点。但是,由于
1 2 3 4 5 6 7 | def binbits(x, n): """Return binary representation of x with at least n bits""" bits = bin(x).split('b')[1] if len(bits) < n: return '0b' + '0' * (n - len(bits)) + bits # |