Czy są jakieś biblioteki dla programu Square Root przez BigDecimal w Javie?Czy istnieją biblioteki programu Square Root w wersji BigDecimal?
Odpowiedz
JScience v4.3.1 ma klasę Real
, która wydaje się być odpowiednikiem BigDecimal
i która może ci pomóc. Przykład użycia:
// The Square Root of Two, to 30 digits
// According to "The Square Root of Two, to 5 million digits."
// Source: http://www.gutenberg.org/files/129/129.txt
System.out.println("1.41421356237309504880168872420");
// Using JScience with 50 digits precision
Real.setExactPrecision(50);
System.out.println(Real.valueOf(2).sqrt());
// Using default java implementation
System.out.println(Math.sqrt(2));
> 1.41421356237309504880168872420
> 1.414213562373095048801689
> 1.4142135623730951
Edit: Zaktualizowano kod i łącza, aby odzwierciedlać aktualną wersję w tym czasie (v4.3.1). Na podstawie komentarzy @ile a @ Tomasz, dzięki.
Fantastyczne, dzięki! –
Pobrałem pakiet JScience i wydaje się, że nie ma już dziesiętnego. Powyższy link jest uszkodzony. –
Posiada klasę LargeInteger, która wydaje się być równoważna http://jscience.org/api/org/jscience/mathematics/number/LargeInteger.html –
Wypróbuj Big Square Roots. Używa on Newton's method do przybliżania rozwiązań takich jak pierwiastki kwadratowe.
Link jest uszkodzony. Ale mogę dostać to, co wydaje się być ten sam kod https://ritdml.rit.edu/bitstream/handle/1850/8800/BigSquareRoot.java?sequence=4 – demongolem
Link w komentarzu demongolem jest również zepsuty –
(To nie może być rozwiązaniem dla ciebie)
Dopóki BigDecimal jest w zakresie podwójne, można przekonwertować BigDecimal podwoić, użyj Math.sqrt() i promować zawrócić do BigDecimal. Prawdopodobnie będzie to szybsze niż wykonanie obliczeń na BigDecimals. W wielu przypadkach utrata precyzji z powodu konwersji między typami będzie nieistotna w porównaniu z nieuniknionym błędem w obliczaniu pierwiastka kwadratowego.
- 1. Czy istnieją autonomiczne biblioteki do Firefox Sync?
- 2. Czy istnieją dobre biblioteki kontrolne WPF?
- 3. Czy istnieją jakieś biblioteki/frameworki dla SCons?
- 4. Czy istnieją biblioteki Hierarchical Temporal Memory?
- 5. Square Subsequence
- 6. Czy istnieją dobre biblioteki do rozwiązywania splajnów sześciennych w C++?
- 7. Czy istnieją biblioteki narzędzi dla przekleństw z powiązaniami w Pythonie?
- 8. Czy istnieją dojrzałe frameworki/biblioteki P2P w języku C#?
- 9. Czy istnieją biblioteki id, które udostępniają funkcję tablic asocjacyjnych?
- 10. Czy istnieją biblioteki graficzne Dart, które szeroko wykorzystują akcelerację sprzętową?
- 11. Czy istnieją jeszcze dobre biblioteki innych firm oparte na openCL?
- 12. Dlaczego istnieją ciągi __version__ w niektórych modułach standardowej biblioteki Python?
- 13. Czy istnieją proste, bezpłatne biblioteki śledzenia C++ ray?
- 14. Czy istnieją jakieś kryptograficznie bezpieczne biblioteki PRNG dla Delphi?
- 15. Jak mogę calc pow frakcje lub nth root square w numpy?
- 16. Czy istnieją Iteratory i pętle w lalce?
- 17. VisualSVN i biblioteki klas nie w kopii roboczej root
- 18. BigDecimal w JavaScript
- 19. Pliki połączone programu Visual Studio nie istnieją.
- 20. Jak zrobić Square Corner Things?
- 21. Square`s OkHttp. Pobierz postęp
- 22. Java BigDecimal w Swift
- 23. Serializacja BigDecimal w GWT
- 24. BigDecimal w Javie
- 25. Jak korzystać z wersji debugowania biblioteki libc
- 26. Czy istnieją wskaźniki czasowe?
- 27. BigDecimal nie może być wymuszony na BigDecimal
- 28. Czy istnieją debuggery gramatyki Yacc?
- 29. Jak wdrożyć bibliotekę dll do systemu GAC i sprawdzić, czy istnieją podczas uruchamiania programu?
- 30. Programowo uzyskać numer wersji biblioteki DLL
Zastanawiam się, dlaczego musisz obliczyć pierwiastek kwadratowy BigDecimal? Pokój dwuosobowy ma zbyt mały zasięg? –
Z tego samego powodu każdy używa BigDecimal: double nie ma precyzji. –
Daniel, ale także obliczenia pierwiastka kwadratowego. Nie można obliczyć sqrt (2) z nieskończoną precyzją. Użycie metody Newtona do obliczenia pierwiastka kwadratowego wprowadza własny błąd związany z algorytmem. –