Ugrás a tartalomra

Tudományos számológép: hatványok, gyökök, logaritmus

Online tudományos számológép hatványokkal, gyökvonással, logaritmus- és ln-függvényekkel, fokban vagy radiánban számolt szinusz-, koszinusz- és tangensértékekkel, faktoriálissal, százalék- és memóriaszámítással.

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.

Betöltési kalkulátor...
📚

Dokumentáció

Tudományos számológép

A tudományos számológép kiszámítja egy leírt matematikai kifejezés értékét. Ez a számológép hatványokat, gyököket, logaritmusokat, trigonometriai függvényeket, faktoriálisokat és százalékokat értelmez, a műveletek szokásos sorrendjét alkalmazza, és egy eredményt ad meg.

Mire képes a kalkulátor

A kifejezést a Kifejezés mezőbe lehet beírni, vagy a billentyűzettel lehet felépíteni. A számológép azonnal értelmezi, amikor a kifejezés megváltozik, így az eredmény megtekintéséhez nincs szükség egyenlőségjelre. A = billentyű ehelyett felveszi a számítást az előzmények listájára.

A következőket fogadja el:

  • számjegyeket, tizedespontot és exponenciális alakban megadott számokat, például 1.5e-3;
  • a +, -, *, / és ^ (hatványozás) operátorokat, valamint a zárójeleket;
  • a pi és e konstansokat;
  • a sin, cos, tan, asin, acos, atan, log, ln, sqrt és cbrt függvényeket;
  • a postfix jeleket: ! (faktoriális) és % (százalék).

A billentyűzet jeleit a megfelelő egyszerű alakra fordítja, ezért a ×, ÷, és π jelentése megegyezik a *, /, - és pi jelentésével.

A log alapja 10, a ln pedig természetes, e alapú logaritmus. Ezt a jelölést használják a TI és Casio tudományos számológépei, valamint a NIST Digital Library of Mathematical Functions 4,2 szakasza.

A műveletek sorrendje

A műveletek sorrendje határozza meg, mit jelent egy kifejezés. Ez a számológép az alábbi nyelvtant használja. Minden sor az alatta lévő sort hívja meg, ezért a beágyazás adja a precedenciatáblát: az utolsó sor köt a legerősebben, és azt számítja ki először.

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

Listaként, az elsőként kiszámított művelettől az utolsóig:

  1. minden, ami zárójelben van, valamint a zárójelre alkalmazott függvény;
  2. ! és %;
  3. ^;
  4. kezdő - vagy + előjel;
  5. *, / és két egymás mellé írt elem;
  6. + és -.

Az így létrejövő konvenciók megfelelnek az ISO 80000-2:2019 szabványnak és a Wikipédián található „A műveletek sorrendje” című szócikknek:

LeírásJelentéseÉrték
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

Két egymás mellé írt számot vagy nevet összeszoroz, ezért működik a 2pi, a 2(3+4) és a 3sin(30). Ez a rejtett szorzás a * és a / művelettel azonos rangú, ezért a melléírást és az osztást balról jobbra kell értelmezni. Sok kézi tudományos számológép az egymás mellé írást az osztásnál szorosabban köti, és a 1/2pi kifejezést 1/(2*pi) alakban értelmezi, ami más eredményt ad. A Wikipédia „Számológépes beviteli módok” című szócikke ismerteti ezt az eltérést. A zárójelek egyértelművé teszik az olyan eseteket, amikor a különbség számít.

A % mindenhol 100-zal oszt. Így a 20% értéke 0,2, a 200*15% értéke pedig 30. Ez nem a pénztárgépek „futó végösszeg százaléka” billentyűje, és nem maradékosztás-operátor.

Számítási példa

A sin(30)+2^3*ln(4) kifejezést Fok móduszban a következő sorrendben számítja ki:

  1. A sin(30) értéke 0,5, mert 30 fok egy derékszög fele, és a szinusza egyketted.
  2. A 2^3 értéke 8. A hatványozást a szorzás előtt kell elvégezni.
  3. A ln(4) értéke 1,38629436112.
  4. A 8 * 1.38629436112 értéke 11,090354889.
  5. A 0.5 + 11.090354889 értéke 11,590354889.

A számológép ezt mutatja: 11,590354889.

Egy második példa a balról jobbra szabályt szemlélteti. A 6/2(1+2) kifejezésben először a zárójelet számítja ki, így 6/2*3 marad. Az osztás és a rejtett szorzás azonos rangú, ezért először az osztás következik: 6/2 értéke 3, a 3*3 értéke pedig 9.

Fokok és radiánok

A Szög mértékegysége beállítás határozza meg, hogyan értelmezi a sin, cos és tan a bemenetet, valamint milyen mértékegységben adja vissza az eredményt az asin, acos és atan. Fok módban egy teljes fordulat 360 fok. Radián módban egy teljes fordulat 2pi, vagyis körülbelül 6,28318530718. Ugyanaz a kifejezés a két módban nagyon eltérő eredményt adhat: a sin(30) értéke Fok módban 0,5, Radián módban pedig -0,988031624093.

A számok tárolása és megjelenítése

Minden érték IEEE 754 binary64, azaz kettős pontosságú lebegőpontos szám, amelyet az ECMA-262 ECMAScript nyelvi specifikáció 6,1.6,1 szakasza ír le. Egy double körülbelül 15–17 tizedesjegyet tárol. A képernyőn megjelenő eredményt egyszer, csak a megjelenítéshez, 12 értékes jegyre kerekíti. A 0,000001 alatti vagy a 1 000 000 000 000 értéknél nem kisebb számokat exponenciális alakban jeleníti meg, ezért a 0.0000001 így olvasható: 1E-7.

A tárolt szám teljes pontosságban megmarad. A memória a pontos eredményt tárolja, nem a képernyőn látható 12 számjegyet, az MR pedig visszailleszti az ezt a számot jelentő legrövidebb szöveget. A negatív memóriatartalmat zárójelben illeszti be, így egy 2 után visszahívva szorzásként, nem kivonásként értelmeződik.

A kerekítést soha nem használja döntések meghozatalára. A korábbi számításokból visszamaradó parányi érték valódi szám, és akként kezeli. A 0.1*3-0.3 binárisan nem nulla; értéke körülbelül 5,55111512313E-17, ezért a 5/(0.1*3-0.3) eredménye 9,00719925474E16, nem pedig nullával való osztási üzenet.

Ugyanezen okból a sin(180) Fok módban 1,22464679915E-16 értéket mutat, nem 0-t. A hiba körülbelül egy tízezermilliárd milliárdod rész, és ilyen kicsi is marad. A tangens kivétel; ezt alább ismertetjük.

Amit a kalkulátor elutasít

A számológép eredmény helyett üzenetet jelenít meg, ha:

  • a nevező pontosan nulla, beleértve a double számára túl kicsi beírt számot is, például a 1e-400 értéket, amely beolvasáskor már nulla;
  • a sqrt függvény negatív számot kap;
  • a log vagy a ln olyan számot kap, amely nem nagyobb nullánál;
  • az asin vagy az acos a -1 és 1 közötti tartományon kívüli számot kap, amelyet a NIST DLMF 4,14 szakasza ad meg;
  • a tan függvényt 90 foknál vagy annak bármely páratlan többszörösénél használják, ahol nincs értéke;
  • faktoriálist kérnek nem egész számra, illetve a 0–170 tartományon kívüli egész számra;
  • egy szám második tizedespontot tartalmaz, például 1.2.3;
  • a kifejezés hosszabb 512 karakternél.

A 170-es korlát a számtípus tulajdonsága, nem önkényes beállítás: a 170 faktoriális körülbelül 7,25741561531E306, ami még belefér egy double értéktartományába, a 171 faktoriális viszont már nem. A 512 karakteres korlátot a kód ellenőrzi, mert a kifejezés hossza határozza meg, mennyi munkát végez a számológép.

A tangens ellenőrzése előtt a szöget 9 tizedesjegyre kerekíti. Így a korábbi számítások eltérését visszavezeti a pontos aszimptotára, cserébe mindkét oldalon körülbelül 5e-10 fok széles elutasítási tartomány alakul ki. A tan(89.9999999994) értéke 95 493 592 025, a tan(89.9999999995) értéket viszont elutasítja. Radián módban nincs ilyen ellenőrzés, mert a π felének közelében beírt radiánérték csak egy szám, amelynek nincs különleges státusza.

Gyakran ismételt kérdések

Mit csinál itt a % billentyű? Mindenhol 100-zal oszt, ahol megjelenik. A 100+10% értéke 100,1, mert jelentése 100 plusz 0,1. Nem az előtte álló érték százalékát számítja ki.

A 2^3^2 értéke 64 vagy 512? 512. A hatványok jobbról csoportosulnak, ezért a kifejezés jelentése 2^(3^2), ami 2^9. Ez megfelel az ISO 80000-2:2019 szabványnak.

Miért 6/2(1+2) értéke 9, nem pedig 1? A rejtett szorzás az osztással azonos rangú, az azonos rangú műveleteket pedig balról jobbra kell értelmezni. Azok a számológépek, amelyek az egymás mellé írást szorosabban kötik, 1 eredményt adnak. A zárójelek megszüntetik a bizonytalanságot.

Miért nem 0 jelenik meg a sin(180) eredményeként? Mert a 180 fokot először radiánra váltja, a pi pedig binárisan nem írható le pontosan. Az eredmény körülbelül 1.2e-16, ami a gép által ténylegesen használt szám szinuszának valódi értéke.

Mi a különbség a log és az ln között? A log alapja 10, ezért a log(1000) értéke 3. Az ln alapja e, ezért a ln(e) értéke 1. A billentyűzet jelölései ugyanazt a konvenciót követik, mint a TI és Casio tudományos számológépei.

Miért utasítja el a 170 feletti faktoriálist? A 171 faktoriális nagyobb bármely, double típusban tárolható számnál, ezért az eredmény szám helyett végtelen lenne. A számológép ezt közli, ahelyett hogy értelmetlen eredményt jelenítene meg.

Források

  • IEEE 754-2019, IEEE-szabvány a lebegőpontos aritmetikához.
  • ECMA-262, ECMAScript nyelvi specifikáció, 6.1.6.1 szakasz, „A Number típus”.
  • ISO 80000-2:2019, Mennyiségek és mértékegységek, 2. rész: Matematikai jelek és szimbólumok.
  • NIST Digital Library of Mathematical Functions, 4,2 és 4,14 szakasz.
  • Wikipédia, „A műveletek sorrendje”.
  • Wikipédia, „Számológépes beviteli módok”.