# [Tutor] Binary to Decimal conversion

bob gailer bgailer at gmail.com
Tue Mar 10 01:50:47 CET 2009

```Chris Castillo wrote:
> I am having some difficulties in producing the correct code for a
> simple binary to decimal conversion program. The arithmetic I want to
> use is the doubling method - so if I wanted to get the decimal
> the left most digit. I would then take the sum of 1 and multiply it by
> 2 and add the next digit to that product and so on and so forth until
> I come to an end sum of 9.
>
> I seem to come up with something like this:
>
> binnum = raw_input("Please enter a binary number:  ")
>
>
> for i in range(0, len(binum), 1):
>     item = "0"
>     if i < len(binum) - 1:
>         item = binum[i + 1]
>
>     binsum = binsum * int(item) * 2 + binsum + int(binum[i])
>
>
> print "\nThe binary number ", binum, " you entered converts to",
> binsum, " in decimal."

Having said that I will point out
1 - to access elements of a sequence you may write:
for item in binnum:
2 - the first element of binnum is binnum[0]. Your code starts by
accessing the 2nd element.
3- you use binsum before assigning anything to it. That is bound to
raise a Name error.
4 - I don't understand binsum = binsum * int(item) * 2 + binsum +
int(binum[i])
That does not agree with your verbal algorithm.

--
Bob Gailer
Chapel Hill NC
919-636-4239
```