integer to binary 0-padded

Olivier LEMAIRE m.olivier.lemaire at gmail.com
Wed Jun 15 08:29:28 EDT 2011


Hi there, 
I've been looking for 2 days for a way to convert integer to binary number 0-padded, nothing... 
I need to get numbers converted with a defined number of bits. For example on 8 bits 2 = 00000010
I wrote the following:
<code>
#!/usr/bin/env python


def int2binPadded(number, size):
    """The purpose of this function is to convert integer number to binary number
    0-padded."""
    if type(number)!=int or number < 0:
	raise ValueError, "should be a positive integer"
    if type(size)!=int:
	raise ValueError, "should be an integer"
    if number > (2**size)-1:
	raise ValueError, "number is too large"
    # convert int to bin
    b = str(bin(number))[2:]

    if len(b) !=size:
	b = (size-len(b))*"0"+b

    return b


if __name__ == "__main__":
    import sys
    print int2binPadded(int(sys.argv[1]),int(sys.argv[2]))
</code>

This satisfies my needs !

Though, what do you think about it ?

Thank you for you remarks,

Olivier



More information about the Python-list mailing list