why the inconsistency?
Michael Hudson
mwh at python.net
Fri Sep 26 20:04:24 CEST 2003
"Tim Peters" <tim.one at comcast.net> writes:
> [Christos "TZOTZIOY" Georgiou'
> >>> If only math.log(2**64)/math.log(10) worked with longs without
> >>> converting them into floats first... :(
> >>
> >> And after reading the FM, if only
> >>
> >> def count_digits(x):
> >> return int(math.log(x, 10))
> >>
> >> worked correctly for *all* large values, like 10**70...
>
> [Michael Hudson]
> > Um, it does :-)
> >
> > >>> float(40**200)
> > Traceback (most recent call last):
> > File "<stdin>", line 1, in ?
> > OverflowError: long int too large to convert to float
> > >>> math.log(40**200, 14)
> > 279.56038792470861
> >
> > (10**70 is well within the range of an IEEE double).
>
> You're not used to answering floating-point questions <wink>.
Or prehaps just conveniently ignoring what "work" means in a given
context :-)
Cheers,
mwh
--
Make this IDLE version 0.8. (We have to skip 0.7 because that
was a CNRI release in a corner of the basement of a government
building on a planet circling Aldebaran.)
-- Guido Van Rossum, in a checkin comment
More information about the Python-list
mailing list