4 ms·
While i find the binary incomparability with with decimals somewhat annoying. In the bigger picture what i fell we are generally missing in most programing lan
by callesgg 13y ago
While i find the binary incomparability with with decimals somewhat annoying.
In the bigger picture what i fell we are generally missing in most programing languages is an EASY way to store and handle fractions.
- psquid 13y agoAgreed. Both Haskell and much of the Lisp family support rational numbers, the latter with them automatically being used instead of imprecise results when doing divisions which can't be represented accurately. I miss them a lot when working in other languages.
- ErsatzVerkehr 13y agoJust curious, what is your use-case in which you need better support for fractions?
- callesgg 13y agoA simple example: (i will use decimal instead of binary as it is easier and binary suffers from the same stuff but for other numbers) (10/3)x(9/4) == 7.5 but due to the fact that computers store the value instead of the fraction it would come out as something like 7.4999999999 cause instead of doing (10x9)/(3x4) it would do 3.3333333333333 x 2.25
- giovannibajo1 13y agoThis looks like a case for decimal floating point, not fractionals. In Python: >>> from decimal import Decimal as D >>> D("10")/D("3") * D("9")/D("4") Decimal('7.50000000000000000000000000')
- mistercow 13y ago>In the bigger picture what i fell we are generally missing in most programing languages is an EASY way to store and handle fractions. I'm squeamish about that. I fear that a lot of new programmers would overuse a fraction type if it were built in, and this can quickly lead to really poor performance. In most cases, floating point works just fine. Reducing fractions is slow, so you really only want to use them when perfect precision is absolutely necessary. What I see happening is someone new to programming hits a point where they need a fractional number type. They look in the documentation and they see "integer, floating point, fraction" and they say "Aha! Fraction! I know what those are."