Przejdź do treści

Kalkulator naukowy: potęgi, pierwiastki, logarytmy

Internetowy kalkulator naukowy z potęgami, pierwiastkami, logarytmami i ln, sinusem, cosinusem oraz tangensem w stopniach lub radianach, silnią, procentami i pamięcią.

Scientific Calculator

Evaluates a typed or tapped expression with the usual order of operations, including powers, roots, logarithms, trigonometry and factorials.

Use + - * / for arithmetic, ^ for powers, ! for factorial and % for percent.

Type an expression or use the keypad to see a result.

Keypad

How this calculator reads an expression

Percent divides by 100 wherever it appears, so 100+10% is 100.1, not 110. Powers group from the right: 2^3^2 is 2^9, which is 512. A minus sign in front of a power is applied last, so -2^2 is -4. Two things written side by side are multiplied, and that multiplication ranks with division, so both are read left to right: 1/2pi means (1/2) times pi, and 6/2(1+2) is 9. Some scientific calculators read 1/2pi the other way, as 1/(2 times pi), so use brackets when the meaning matters. In Degrees mode the tangent is refused at 90 degrees and every odd multiple of it, because it has no value there.

History

No calculations yet. Press = to add one.

Kalkulator załadunku...
📚

Dokumentacja

Kalkulator naukowy

Kalkulator naukowy oblicza wartość zapisanego wyrażenia matematycznego. Ten kalkulator obsługuje potęgi, pierwiastki, logarytmy, funkcje trygonometryczne, silnie i wartości procentowe, stosuje standardową kolejność wykonywania działań i podaje jeden wynik.

Działanie kalkulatora

Wyrażenie wpisuje się w polu Wyrażenie albo buduje za pomocą klawiatury. Kalkulator odczytuje je natychmiast po każdej zmianie, więc do wyświetlenia wyniku nie jest potrzebny klawisz równości. Klawisz = dodaje obliczenie do listy historii.

Obsługuje:

  • cyfry, kropkę dziesiętną oraz liczby w postaci wykładniczej, takie jak 1.5e-3;
  • operatory +, -, *, / i ^ (potęgowanie), a także nawiasy;
  • stałe pi i e;
  • funkcje sin, cos, tan, asin, acos, atan, log, ln, sqrt i cbrt;
  • znaki przyrostkowe ! (silnia) i % (procent).

Symbole klawiatury są tłumaczone na zwykłe odpowiedniki, więc ×, ÷, i π oznaczają to samo co *, /, - i pi.

log to logarytm o podstawie 10, a ln to logarytm naturalny o podstawie e. Takie oznaczenia są używane na kalkulatorach naukowych TI i Casio oraz w bibliotece NIST Digital Library of Mathematical Functions, w sekcji 4,2.

Kolejność wykonywania działań

Regułą określającą znaczenie wyrażenia jest kolejność wykonywania działań. Ten kalkulator korzysta z poniższej gramatyki. Każdy wiersz odwołuje się do wiersza znajdującego się pod nim, dlatego zagnieżdżenie wyznacza tabelę pierwszeństwa: ostatni wiersz wiąże najsilniej i jest obliczany jako pierwszy.

1expression := term (('+' | '-') term)*
2term       := unary (('*' | '/' | juxtaposition) unary)*
3unary      := ('-' | '+') unary | power
4power      := postfix ('^' unary)?
5postfix    := primary ('!' | '%')*
6primary    := number | constant | name '(' expression ')' | '(' expression ')'
7

W postaci listy, od działań wykonywanych najpierw do wykonywanych na końcu:

  1. wszystko, co znajduje się w nawiasach, oraz funkcja zastosowana do nawiasów;
  2. ! i %;
  3. ^;
  4. początkowy znak - lub +;
  5. *, / oraz dwa elementy zapisane obok siebie;
  6. + i -.

Wynikające z tego zasady są zgodne z normą ISO 80000-2:2019 oraz artykułem „Order of operations” w Wikipedii:

ZapisOdczytywane jakoWartość
2^3^22^(3^2)512
-2^2-(2^2)-4
2^-22^(-2)0,25
2^3!2^(3!)64
100+10%100 + (10/100)100,1
1/2pi(1/2) * pi1,57079632679
6/2(1+2)(6/2) * (1+2)9

Dwie liczby lub nazwy zapisane obok siebie są mnożone, dzięki czemu działają wyrażenia 2pi, 2(3+4) i 3sin(30). To pominięte mnożenie ma taki sam priorytet jak * i /, więc zestawienie elementów i dzielenie są odczytywane od lewej do prawej. Wiele ręcznych kalkulatorów naukowych nadaje zestawieniu elementów wyższy priorytet niż dzieleniu i odczytuje 1/2pi jako 1/(2*pi), co daje inny wynik. Wikipedia opisuje ten podział w artykule „Calculator input methods”. Nawiasy rozstrzygają każdy przypadek, w którym różnica ma znaczenie.

% oznacza dzielenie przez 100 niezależnie od miejsca wystąpienia. Zatem 20% to 0,2, a 200*15% to 30. Nie jest to klawisz „procent od bieżącej sumy” stosowany w kasach sklepowych ani operator reszty z dzielenia.

Przykład obliczeniowy

Wyrażenie sin(30)+2^3*ln(4) w trybie stopni oblicza się w następującej kolejności:

  1. sin(30) wynosi 0,5, ponieważ 30 stopni to połowa kąta prostego, a jego sinus wynosi jedną drugą.
  2. 2^3 wynosi 8. Potęgowanie wykonuje się przed mnożeniem.
  3. ln(4) wynosi 1,38629436112.
  4. 8 * 1.38629436112 wynosi 11,090354889.
  5. 0.5 + 11.090354889 wynosi 11,590354889.

Kalkulator wyświetla 11,590354889.

Drugi przykład pokazuje zasadę odczytywania od lewej do prawej. W wyrażeniu 6/2(1+2) najpierw oblicza się nawias, otrzymując 6/2*3. Dzielenie i pominięte mnożenie mają ten sam priorytet, więc najpierw wykonuje się dzielenie: 6/2 wynosi 3, a 3*3 wynosi 9.

Stopnie i radiany

Ustawienie jednostki kąta określa, jak funkcje sin, cos i tan interpretują dane wejściowe oraz jaką jednostkę zwracają funkcje asin, acos i atan. W trybie stopni pełny obrót ma 360 stopni. W trybie radianów pełny obrót ma 2pi, czyli około 6,28318530718. To samo wyrażenie może dawać zupełnie różne wyniki w obu trybach: sin(30) wynosi 0,5 w trybie stopni i -0,988031624093 w trybie radianów.

Sposób przechowywania i wyświetlania liczb

Każda wartość jest liczbą zmiennoprzecinkową IEEE 754 binary64 typu double, opisaną w ECMA-262, w specyfikacji języka ECMAScript, w sekcji 6,1.6,1. Liczba typu double przechowuje około 15 do 17 cyfr dziesiętnych. Wynik jest zaokrąglany tylko raz, na potrzeby ekranu, do 12 cyfr znaczących. Wartości mniejsze niż 0,000001 lub większe bądź równe 1 000 000 000 000 są wyświetlane w postaci wykładniczej, więc 0.0000001 odczytuje się jako 1E-7.

Przechowywana liczba zachowuje pełną precyzję. Pamięć przechowuje dokładny wynik, a nie 12 cyfr widocznych na ekranie, a MR wstawia najkrótszy tekst odczytywany jako ta sama liczba. Ujemna wartość z pamięci jest wstawiana w nawiasach, więc jej przywołanie po 2 oznacza mnożenie, a nie odejmowanie.

Zaokrąglanie nigdy nie służy do podejmowania decyzji. Niewielka pozostałość po wcześniejszych działaniach jest rzeczywistą liczbą i jest tak traktowana. 0.1*3-0.3 nie wynosi zero w systemie binarnym; wynosi około 5,55111512313E-17, dlatego 5/(0.1*3-0.3) daje 9,00719925474E16 zamiast komunikatu o dzieleniu przez zero.

Z tego samego powodu sin(180) w trybie stopni wyświetla 1,22464679915E-16, a nie 0. Błąd wynosi około jednej części na dziesięć biliardów i pozostaje tak mały. Wyjątkiem jest tangens, omówiony poniżej.

Czego kalkulator nie akceptuje

Kalkulator wyświetla komunikat zamiast wyniku, gdy:

  • mianownik jest dokładnie równy zero, w tym gdy wpisana liczba jest zbyt mała dla typu double, na przykład 1e-400, która po odczytaniu jest już zerem;
  • funkcji sqrt podano liczbę ujemną;
  • funkcji log lub ln podano liczbę, która nie jest większa od zera;
  • funkcji asin lub acos podano liczbę spoza zakresu od -1 do 1, określonego w sekcji 4,14 NIST DLMF;
  • funkcja tan jest używana dla 90 stopni lub dowolnej nieparzystej wielokrotności tej wartości, gdzie nie ma określonej wartości;
  • zażądano silni dla wartości innej niż liczba całkowita od 0 do 170;
  • liczba zawiera drugą kropkę dziesiętną, jak w 1.2.3;
  • wyrażenie ma więcej niż 512 znaków.

Limit 170 wynika z właściwości typu liczbowego, a nie z preferencji: silnia z 170 wynosi około 7,25741561531E306, więc nadal mieści się w typie double, natomiast silnia z 171 już nie. Limit 512 znaków jest sprawdzany w kodzie, ponieważ długość wyrażenia decyduje o ilości pracy wykonywanej przez kalkulator.

Podczas sprawdzania tangensa kąt jest zaokrąglany do 9 miejsc po przecinku. W ten sposób odchylenie wynikające z wcześniejszych działań zostaje sprowadzone do dokładnej asymptoty, kosztem okna odmowy o szerokości około 5e-10 stopnia po każdej stronie. tan(89.9999999994) zwraca 95 493 592 025, a tan(89.9999999995) zostaje odrzucone. W trybie radianów takie sprawdzanie nie jest wykonywane, ponieważ wpisana wartość w radianach bliska połowie liczby pi jest po prostu kolejną liczbą, bez specjalnego statusu.

Często zadawane pytania

Co robi tutaj klawisz %? Dzieli przez 100 niezależnie od miejsca wystąpienia. 100+10% wynosi 100,1, ponieważ oznacza 100 plus 0,1. Nie oblicza procentu od wartości znajdującej się przed nim.

Czy 2^3^2 oznacza 64 czy 512? 512. Potęgowanie grupuje się od prawej strony, więc wyrażenie oznacza 2^(3^2), czyli 2^9. Jest to zgodne z normą ISO 80000-2:2019.

Dlaczego 6/2(1+2) daje 9, a nie 1? Pominięte mnożenie ma taki sam priorytet jak dzielenie, a działania o równym priorytecie odczytuje się od lewej do prawej. Kalkulatory, które nadają zestawieniu elementów wyższy priorytet, dają wynik 1. Nawiasy usuwają wątpliwość.

Dlaczego sin(180) nie wyświetla 0? Ponieważ 180 stopni jest najpierw przeliczane na radiany, a liczby pi nie da się dokładnie zapisać w systemie binarnym. Wynik wynosi około 1.2e-16, co jest rzeczywistą wartością sinusa liczby użytej przez komputer.

Jaka jest różnica między log i ln? log ma podstawę 10, więc log(1000) wynosi 3. ln ma podstawę e, więc ln(e) wynosi 1. Oznaczenia na klawiaturze są zgodne z tą samą konwencją co na kalkulatorach naukowych TI i Casio.

Dlaczego odrzucana jest silnia większa niż 170? Silnia z 171 jest większa od każdej liczby, jaką może przechować typ double, więc wynikiem byłaby nieskończoność, a nie liczba. Kalkulator informuje o tym zamiast wyświetlać pozbawiony znaczenia wynik.

Źródła

  • IEEE 754-2019, norma IEEE dotycząca arytmetyki zmiennoprzecinkowej.
  • ECMA-262, specyfikacja języka ECMAScript, sekcja 6.1.6.1, „The Number Type”.
  • ISO 80000-2:2019, Wielkości i jednostki, część 2: Znaki i symbole matematyczne.
  • NIST Digital Library of Mathematical Functions, sekcje 4,2 i 4,14.
  • Wikipedia, „Order of operations”.
  • Wikipedia, „Calculator input methods”.