[Python-ideas] Consider generalizing Decimal to support arbitrary radix

Neil Girdhar mistersheik at gmail.com
Wed Feb 7 18:08:52 EST 2018


On Wed, Feb 7, 2018 at 5:52 PM Steven D'Aprano <steve at pearwood.info> wrote:

> On Wed, Feb 07, 2018 at 10:08:50PM +0000, Neil Girdhar wrote:
>
> > Oh, and to answer your specific question, I want to change the way
> > arithmetic is done.  I want it to be done in a different radix.
>
> Why?
>
> There are clear advantages to floating point arithmetic done in base 2
> (speed, minimum possible rounding error, least amount of wobble), and a
> different advantage to floating point done in base 10 (matches exactly
> the standard decimal notation used by humans with no conversion error),
> Outside of those two bases, arithmetic done in any other base is going
> to combine the worst of both:
>
> - slower;
> - larger errors when converting from decimal numbers (in general);
> - larger rounding errors;
> - larger wobble;
>

I don't see why it would have any of those problems.  Base 10 isn't special
in any way.

>
> with no corresponding advantages unless your data is coming to you in
> arbitrary bases.
>

Right, I was playing with this problem (
https://brilliant.org/weekly-problems/2017-10-02/advanced/?problem=no-computer-needed)
and wanted to work in base 2.  I realize it's niche, but it's not exactly a
significant change to the interface even if it's a big change to the
implementation.


>
> Doing floating point arithmetic in decimal is already slower and less
> accurate than doing it in binary. I'd like to hear more about your
> use-case for doing it in base 19 or base 7, say, but I would have to
> guess that it is likely to be such a niche use-case that this
> functionality doesn't belong in the standard library.
>
>
> --
> Steve
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> https://mail.python.org/mailman/listinfo/python-ideas
> Code of Conduct: http://python.org/psf/codeofconduct/
>
> --
>
> ---
> You received this message because you are subscribed to a topic in the
> Google Groups "python-ideas" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/python-ideas/twWEvFwahaQ/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> python-ideas+unsubscribe at googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20180207/e9f77c0d/attachment-0001.html>


More information about the Python-ideas mailing list