[Tutor] Function for converting ints from base10 to base2?
Alan Gauld
alan.gauld at btinternet.com
Wed Feb 21 22:02:10 CET 2007
"Dick Moores" <rdm at rcblue.com> wrote
>I was surprised to be unable to find a function in Python for
> converting ints from base10 to base2. Is there one?
The sidebar in my Using the OS topicv includes a function
to do this. It uses a simpler algorithm:
def bin(n):
digits = {'0':'000','1':'001','2':'010','3':'011',
'4':'100','5':'101','6':'110','7':'111'}
octStr = "%o" % n # convert to octal string
binStr = ''
# convert octal digit to its binary equivalent
for c in octStr: binStr += digits[c]
return binStr> I wrote one, but have I reinvented the wheel again?
(Even if I have,
> it was an interesting exercise for me.)
There are several versions of this using various techniques on
the net.
> I know some of you CS people won't like what I do with negative
> ints,
And I'm not sure how mine handles negative ints - badly I suspect!
--
Alan Gauld
Author of the Learn to Program web site
http://www.freenetpages.co.uk/hp/alan.gauld
More information about the Tutor
mailing list