How to return a number as a binary string with a set number of bits in python
binary, python
Solution
Strings have a `.zfill()` method to pad it with zeros:
>>> '100'.zfill(5)
'00100'
For binary numbers however, I'd use string formatting:
>>> '{0:05b}'.format(4)
'00100'
The `:05b` formatting specification formats the number passed in as binary, with 5 digits, zero padded. See the Python format string syntax. I've used `str.format()` here, but the built-in `format()` function can take the same formatting instruction, minus the `{0:..}` placeholder syntax:
>>> format(4, '05b')
'00100'
if you find that easier.
Problem
Probably a silly question, but in python is there a simple way to automatically pad a number with zeros to a fixed length? I wasn't able to find this in the python docs, but I may not have been looking hard enough? e.i. I want bin(4) to return 00100, rather than just 100. Is there a simple way to ensure the output will be six bits instead of three?