Арифметика действительных чисел в языке общего назначения? - PullRequest
3 голосов
/ 17 сентября 2010

Как (надеюсь) большинство из вас знает, арифметика с плавающей запятой отличается от арифметики действительных чисел.Это для начала неточно.Многие числа, особенно десятичные (0,1, 0,3), не могут быть представлены, что приводит к таким проблемам, как this .Более подробный список можно найти здесь .

Существуют ли какие-либо языки общего назначения , которые имеют встроенную поддержку чего-то более близкого к арифметике действительных чисел?Если нет, то какие хорошие библиотеки поддерживают это?

РЕДАКТИРОВАТЬ: Произвольная точность decimal типы данных не , что я ищу.Я хочу иметь возможность представлять числа типа 1/3, sqrt(3) или 1 + 2i.

Ответы [ 12 ]

0 голосов
/ 17 сентября 2010

Многие языки поддерживают это: Java имеет BigDecimal, Perl имеет Math::BigFloat и Math::BigRat, Haskell имеет Integer, и многие библиотеки и языки перечислены в википедии .

0 голосов
/ 17 сентября 2010

Java: java.math.BigDecimal

C #: decimal

...