Binary Decimals in Python
Grant Olson
kgo at grant-olson.net
Tue Mar 30 17:35:21 CEST 2010
On 3/30/2010 11:13 AM, aditya wrote:
> To get the decimal representation of a binary number, I can just do
> this:
>
> int('11',2) # returns 3
>
> But decimal binary numbers throw a ValueError:
>
> int('1.1',2) # should return 1.5, throws error instead.
>
> Is this by design? It seems to me that this is not the correct
> behavior.
>
Well technically that would be a 'radix point', not a decimal point.
But I think the problem is that computers don't store fractional values
that way internally. They either use floating or fixed point math. You
would never look at raw binary data on a computer and see something like
'1010.1010', and no one would write it that way, and no language (that I
know of) would accept that as a valid value if you did something like "x
= 0b1010.1010"
So in that sense, it might not be an intentional oversight, but it's not
a very practical or useful feature.
More information about the Python-list
mailing list