Binary Decimals in Python

Grant Olson kgo at grant-olson.net
Tue Mar 30 11:35:21 EDT 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

AltStyle によって変換されたページ (->オリジナル) /