Kalkulator dużych liczb
Wykonuj operacje arytmetyczne na liczbach całkowitych dowolnej wielkości bezpośrednio w przeglądarce.
Kalkulator dużych liczb
Natywne liczby w JavaScripcie tracą precyzję po około 15 cyfrach, co czyni je bezużyteczne dla rozmiarów kluczy kryptograficznych, kombinatoryki czy zwykłego mnożenia dwóch bardzo dużych liczb całkowitych poprawnie. Ten kalkulator ewaluuje wyrażenia przy użyciu arytmetyki BigInt zamiast tego, więc liczba z 40 cyframi pomnożona przez inną 40-cyfrową liczbę wychodzi dokładnie, cyfrę po cyfrze, bez zaokrąglenia.
Wpisz jedno wyrażenie na linię, a każda linia jest obliczana niezależnie, w kolejności — wklej całą partię obliczeń i otrzymaj pasującą partię wyników. Obsługiwane operatory to + − * / % (dzielenie całkowite i reszta) oraz ^ lub ** do potęgowania, plus nawiasy do grupowania i końcowe ! do silni. Zestaw uzupełniają dwie nazwane funkcje: gcd(a, b) dla największego wspólnego dzielnika i modpow(podstawa, wykładnik, modulus) dla szybkiego potęgowania modularnego — operacji stojącej za RSA i Diffie-Hellman, obliczanej bez kiedykolwiek materializowania astronomicznie dużej pośredniej potęgi.
Opcje kontrolują sposób, w jaki wyniki są zapisywane, a nie to, co jest obliczane. Separatory tysięcy grupują cyfry wyniku dziesiętnego dla czytelności, lub grupują dane wyjściowe binarne, ósemkowe i szesnastkowe w krótkie bloki, gdy przełączysz podstawę wyjścia. Włączenie liczby cyfr dołącza liczbę cyfr dziesiętnych, które ma wynik — przydatne do oszacowania rozmiaru silni lub potęgi przed jej użyciem gdzie indziej. Notacja naukowa uruchamia się dopiero po osiągnięciu przez wyniku dziesiętny 21 cyfr, drukując zaokrąglone "1,23457e+40" zamiast ściany cyfr. Kilka limitów bezpieczeństwa — silnia ograniczona do 10 000!, wyniki ograniczone do miliona cyfr — utrzymuje stronę responsywną zamiast zamarznąć na wyrażeniu wymykającym się spod kontroli.
Wszystko działa lokalnie w przeglądarce; żadne wyrażenie czy wynik nigdy nigdzie się nie przesyła. Skopiuj dane wyjściowe, pobierz je jako plik .txt, lub wyślij je z powrotem do wejścia, aby połączyć kolejne obliczenie w łańcuch.