Say I get a random number between 1 and 127. I change the number to binary and remove the 0b
from it with the fallowing code:
key_one= int(raw_input("Enter key (0 <= key <= 127): ")) if key_one in range(128): bin_key_one=bin(key_one)[2:] print bin_key_one else: print "You have to enter key (0 <= key <= 127)"
Now I want to make it 7-characters long by padding the beginning with zeros as necessary. I think I need to use a for loop, but can someone show me how to do it?
Converting decimal integer to binary To convert integer to binary, start with the integer in question and divide it by 2 keeping notice of the quotient and the remainder. Continue dividing the quotient by 2 until you get a quotient of zero. Then just write out the remainders in the reverse order.
The length of a binary number is given by the value of n, actually it's n+1. For example, a binary number like 101 has a length of 3, something larger, like 10011110 has a length of 8.
An easy method of converting decimal to binary number equivalents is to write down the decimal number and to continually divide-by-2 (two) to give a result and a remainder of either a “1” or a “0” until the final result equals zero.
No you don't.
>>> '{0:07b}'.format(12) '0001100'
So it happens that Python has a string method .zfill()
for that:
>>> '1'.zfill(7) '0000001' >>> '10010'.zfill(7) '0010010'
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With