Spring til indhold

Videnskabelig lommeregner: Potenser, rødder og logaritmer

Online videnskabelig lommeregner med potenser, rødder, log og ln, sinus, cosinus og tangens i grader eller radianer, fakulteter, procent og hukommelse.

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.

Indlæsningsberegner...
📚

Dokumentation

Videnskabelig lommeregner

En videnskabelig lommeregner beregner værdien af et skrevet matematisk udtryk. Denne lommeregner fortolker potenser, rødder, logaritmer, trigonometri, fakulteter og procenter, følger den almindelige rækkefølge for regnearter og angiver ét svar.

Hvad beregneren gør

Et udtryk indtastes i feltet Udtryk eller bygges med tastaturet. Lommeregneren fortolker det, så snart det ændres, så der ikke er brug for en lig med-tast for at se svaret. Tasten = føjer i stedet beregningen til en historikliste.

Den accepterer:

  • cifrene, et decimaltegn og tal i eksponentform som 1.5e-3;
  • operatorerne +, -, *, / og ^ (potens) samt parenteser;
  • konstanterne pi og e;
  • funktionerne sin, cos, tan, asin, acos, atan, log, ln, sqrt og cbrt;
  • postfixtegnene ! (fakultet) og % (procent).

Tastaturets symboler oversættes til deres almindelige ækvivalenter, så ×, ÷, og π betyder det samme som *, /, - og pi.

log er logaritmen med grundtal 10, og ln er den naturlige logaritme med grundtal e. Det er den betegnelse, der bruges på TI- og Casio-lommeregnere samt i NIST Digital Library of Mathematical Functions i afsnit 4,2.

Regnearternes rækkefølge

Den regel, der afgør, hvad et udtryk betyder, er regnearternes rækkefølge. Denne lommeregner bruger grammatikken nedenfor. Hver linje kalder linjen under sig, så indlejringen udgør præcedenstabellen: Den sidste linje binder stærkest og beregnes først.

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

Skrevet som en liste fra det, der beregnes først, til det, der beregnes sidst:

  1. alt inden for parenteser samt en funktion anvendt på parenteser;
  2. ! og %;
  3. ^;
  4. et indledende -- eller +-tegn;
  5. *, / samt to ting skrevet side om side;
  6. + og -.

De konventioner, dette giver, stemmer overens med ISO 80000-2:2019 og artiklen »Order of operations« på Wikipedia:

SkrevetFortolkes somVærdi
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

To tal eller navne skrevet side om side multipliceres, hvilket får 2pi, 2(3+4) og 3sin(30) til at fungere. Denne skjulte multiplikation har samme rang som * og /, så en sammenstilling og en division fortolkes fra venstre mod højre. Mange håndholdte videnskabelige lommeregnere lader en sammenstilling binde stærkere end division og fortolker 1/2pi som 1/(2*pi), hvilket giver et andet svar. Wikipedia beskriver forskellen i »Calculator input methods«. Parenteser afgør alle tilfælde, hvor forskellen har betydning.

% dividerer med 100, uanset hvor det står. Derfor er 20% lig med 0,2, og 200*15% er lig med 30. Det er ikke tasten »procent af den løbende total« på et kasseapparat, og det er ikke en restoperator.

Regneeksempel

Udtrykket sin(30)+2^3*ln(4) beregnes i denne rækkefølge i tilstanden Grader:

  1. sin(30) er 0,5, fordi 30 grader er en halv ret vinkel, og sinus til den er en halv.
  2. 2^3 er 8. Potenser beregnes før multiplikation.
  3. ln(4) er 1,38629436112.
  4. 8 * 1.38629436112 er 11,090354889.
  5. 0.5 + 11.090354889 er 11,590354889.

Lommeregneren viser 11,590354889.

Et andet eksempel viser reglen fra venstre mod højre. I 6/2(1+2) beregnes parentesen først, hvilket giver 6/2*3. Divisionen og den skjulte multiplikation har samme rang, så divisionen udføres først: 6/2 er 3, og 3*3 er 9.

Grader og radianer

Indstillingen for vinkel-enhed afgør, hvordan sin, cos og tan fortolker deres input, og hvilken enhed asin, acos og atan returnerer. I tilstanden Grader er en hel omdrejning 360. I tilstanden Radianer er en hel omdrejning 2pi, cirka 6,28318530718. Det samme udtryk kan give meget forskellige svar i de to tilstande: sin(30) er 0,5 i tilstanden Grader og -0,988031624093 i tilstanden Radianer.

Sådan lagres og vises tal

Hver værdi er en IEEE 754 binary64-double, den taltype, der beskrives i ECMA-262, ECMAScript Language Specification, i afsnit 6,1.6,1. En double indeholder cirka 15 til 17 decimalcifre. Svaret afrundes én gang, kun til visning på skærmen, til 12 betydende cifre. Værdier under 0,000001 eller lig med eller over 1.000.000.000.000 vises i eksponentform, så 0.0000001 vises som 1E-7.

Det lagrede tal bevarer den fulde præcision. Hukommelsen gemmer det nøjagtige resultat, ikke de 12 cifre på skærmen, og MR indsætter den korteste tekst, der fortolkes som det samme tal. En negativ værdi i hukommelsen indsættes i parenteser, så hentning efter et 2 fortolkes som en multiplikation i stedet for en subtraktion.

Afrunding bruges aldrig til at afgøre noget. En lille rest fra tidligere aritmetik er et reelt tal og behandles som sådan. 0.1*3-0.3 er ikke nul i binær repræsentation; den er cirka 5,55111512313E-17, så 5/(0.1*3-0.3) giver 9,00719925474E16 i stedet for en besked om division med nul.

Af samme grund viser sin(180) i tilstanden Grader 1,22464679915E-16 og ikke 0. Fejlen er cirka én ud af ti billioner, og den forbliver så lille. Tangens er en undtagelse og behandles nedenfor.

Hvad beregneren afviser

Lommeregneren viser en besked i stedet for et svar, når:

  • en nævner er nøjagtig nul, herunder et skrevet tal, der er for lille til en double, som 1e-400, der allerede er nul, når det læses;
  • sqrt får et negativt tal;
  • log eller ln får et tal, der ikke er større end nul;
  • Hvis asin eller acos får et tal uden for intervallet fra -1 til 1, det definitionsområde, der er angivet i NIST DLMF i afsnit 4,14;
  • tan bruges ved 90 grader eller et ulige multiplum deraf, hvor den ikke har nogen værdi;
  • der anmodes om et fakultet af andet end et helt tal fra 0 til 170;
  • et tal indeholder et ekstra decimaltegn, som i 1.2.3;
  • udtrykket er længere end 512 tegn.

Grænsen på 170 er en egenskab ved taltypen, ikke et valg: Fakultet af 170 er cirka 7,25741561531E306, hvilket stadig kan rummes i en double, mens fakultet af 171 ikke kan. Grænsen på 512 tegn kontrolleres i koden, fordi udtrykkets længde afgør, hvor meget arbejde lommeregneren udfører.

Kontrollen af tangens afrunder vinklen til 9 decimalpladser, før den testes. Det fører afvigelser fra tidligere aritmetik tilbage til den nøjagtige asymptote, men medfører et afvisningsinterval på cirka 5e-10 grader på hver side. tan(89.9999999994) returnerer 95.493.592.025, mens tan(89.9999999995) afvises. Tilstanden Radianer udfører ikke denne kontrol, fordi en indtastet radianværdi nær halvdelen af pi blot er et tal som alle andre uden særstatus.

Ofte stillede spørgsmål

Hvad gør %-tasten her? Den dividerer med 100, uanset hvor den står. 100+10% er 100,1, fordi det betyder 100 plus 0,1. Den beregner ikke en procentdel af det, der står foran den.

Er 2^3^2 64 eller 512? 512. Potenser grupperes fra højre, så det betyder 2^(3^2), hvilket er 2^9. Dette følger ISO 80000-2:2019.

Hvorfor er 6/2(1+2) 9 og ikke 1? En skjult multiplikation har samme rang som en division, og operationer med samme rang læses fra venstre mod højre. Lommeregnere, der lader sammenstillingen binde stærkere, giver svaret 1. Parenteser fjerner tvivlen.

Hvorfor viser sin(180) ikke 0? Fordi 180 grader først omregnes til radianer, og pi ikke kan skrives nøjagtigt i binær form. Svaret er cirka 1.2e-16, hvilket er den sande værdi af sinus til det tal, maskinen faktisk brugte.

Hvad er forskellen på log og ln? log har grundtal 10, så log(1000) er 3. ln har grundtal e, så ln(e) er 1. Tastaturets betegnelser følger samme konvention som på TI- og Casio-lommeregnere.

Hvorfor afvises et fakultet over 170? Fakultet af 171 er større end ethvert tal, en double kan rumme, så svaret ville være uendelig i stedet for et tal. Lommeregneren angiver dette i stedet for at vise et meningsløst resultat.

Kilder

  • IEEE 754-2019, IEEE-standarden for flydende kommaaritmetik.
  • ECMA-262, ECMAScript Language Specification, afsnit 6.1.6.1, »The Number Type«.
  • ISO 80000-2:2019, Quantities and units, del 2: Mathematical signs and symbols.
  • NIST Digital Library of Mathematical Functions, afsnit 4,2 og 4,14.
  • Wikipedia, »Order of operations«.
  • Wikipedia, »Calculator input methods«.