Apfloat обеспечивает высокую точность на мантиссе, но, по-видимому, дает показатель экспоненциальности меньшей, чем обычно, в зависимости от того, что он падает с «Логарифмом нуля» для значений, которые могут обрабатывать double). Поэтому это не полезно для больших чисел.
Кроме того, документация говорит:
«ловушка существует с конструкторами Apfloat (поплавок, удлиненный) и Apfloat (двойной, длинным) Поскольку поплавки и двойники всегда представляются внутренне в поразрядных 2, преобразование в. любой другой радиус обычно вызывает ошибки округления, и полученный apfloat не будет точным до нужного числа цифр.
Например, 0.3 не может быть точно указана в базе 2. Когда вы создаете apfloat like новый Apfloat (0,3f, 1000), результирующее число будет неточным до 1000 цифр, но только до примерно 7 цифр (в радиусе 10). Фактически, получившееся число будет чем-то вроде 0,30000001192092896 ... »
Это, по-видимому, делает Apfloat минимально полезным.
BigDecimal не имеет функции логарифма, и в документации не указано, позволяет ли она делать большие числа, чем двойной; показатель составляет 32 бита, что-то вроде.
Общий вопрос с точки зрения интереса ... какое ваше приложение требует нескольких тысяч цифр десятичной точности? – Simon 2008-11-10 09:27:24
Это хобби, а не работа: я бы хотел рассчитать еще несколько цифр http://en.wikipedia.org/wiki/Feigenbaum_constant – 2008-11-11 08:10:01