Hello,
Chris Castillo wrote:
Thanks for clearing that up. I knew it was much simpler than I was trying to
make it I just couldn't quite see the logic that I needed for the problem
clearly. Thanks for the elegant code.
On Mon, Mar 9, 2009 at 10:53 PM, Moos Heintzen <iwasr...@gmail.com> wrote:
binnum = raw_input("Please enter a binary number: ")
decnum = 0
rank = 1
for i in reversed(binnum):
decnum += rank * int(i)
rank *= 2
If you reverse the computation, it gets even simpler:
binstr = raw_input("Please enter a binary number: ")
decnum = 0
for i in binstr:
decnum = decnum * 2 + int(i)
print decnum
If you want to preserve the binary spirit of the conversion, you should of
course do
for i in binstr:
decnum = (decnum << 1) | int(i)
instead.
Sincerely,
Albert
_______________________________________________
Tutor maillist - Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor