Typ BigDecimal?

0

Witam. Chciałem ostatnio napisać program wyliczający liczbę pi. Widziałem algorytm na bazie iloczynu nieskończonego oraz na wyliczeniu pi z 4 * arctan(1), jednak ogranicza mnie tutaj typ decimal. Jak dla mnie, 28 znaków po przecinku to stanowczo za mało. Szukałem i nie mogłem znaleźć, jedyne co to typ BigInteger, ale on jest dla wartości całkowitoliczbowych :/. Jeśli zna ktoś może jakąś bibliotekę z typem, który przyjmuje nieskończoną liczbę miejsc po przecinku, prosiłbym o podanie linku :). Pozdrawiam ;).

PS: Z tego co kiedyś czytałem, to wyliczano liczbę pi (pewnie źle zrozumiałem) liczba po liczbie (chodzi o te po przecinku). Czy to prawda, i jeśli tak to mógłby ktoś podać sposób takiego wyliczania? :)

0

Użyj typu string. Musiałbyś tylko zaimplementować operacje matematyczne na tym type.

0

Dopełniając powyższą odpowiedź, zaimplementuj te operacje jako działania pisemne. Wtedy w zasadzie niemal otrzymasz nieograniczony zakres liczb.

0

Jeśli zna ktoś może jakąś bibliotekę z typem, który przyjmuje nieskończoną liczbę miejsc po przecinku, prosiłbym o podanie linku

http://gmplib.org/
http://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic#Libraries

* to "nieskończenie wiele" oczywiście skończy się w miejscu, gdy zabraknie pamięci dla procesu.

0

jedyne co to typ BigInteger, ale on jest dla wartości całkowitoliczbowych
Możesz sobie wyobrazić, że tam jest (na ustalonej pozycji) przecinek, np. że
10000000000000000000000000000000000000000000000000000000000000000000000
oznacza tak naprawdę
1.0000000000000000000000000000000000000000000000000000000000000000000000
a potem pilnować co się dzieje z przecinkiem, zwłaszcza przy mnożeniu i dzieleniu,.

1 użytkowników online, w tym zalogowanych: 0, gości: 1