Hopp til innhold

Vitenskapelig kalkulator: potenser, røtter og logaritmer

Vitenskapelig kalkulator på nett med potenser, røtter, logaritmer og ln, sinus, cosinus og tangens i grader eller radianer, fakulteter, prosent og minne.

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.

Lastekalkulator...
📚

Dokumentasjon

Vitenskapelig kalkulator

En vitenskapelig kalkulator beregner verdien av et skrevet matematisk uttrykk. Denne leser potenser, røtter, logaritmer, trigonometri, fakulteter og prosenter, bruker standard regnerekkefølge og viser ett svar.

Hva kalkulatoren gjør

Et uttrykk skrives inn i Uttrykk-feltet eller bygges med tastaturet. Kalkulatoren leser det så snart det endres, så det er ikke nødvendig å trykke på likhetstasten for å se svaret. Tasten = legger i stedet beregningen til i en historikkliste.

Den godtar:

  • sifrene, desimalpunktum og tall på eksponentform, for eksempel 1.5e-3;
  • operatorene +, -, *, / og ^ (potens), samt parenteser;
  • konstantene pi og e;
  • funksjonene sin, cos, tan, asin, acos, atan, log, ln, sqrt og cbrt;
  • postfixtegnene ! (fakultet) og % (prosent).

Tastatursymboler oversettes til de tilsvarende enkle symbolene, så ×, ÷, og π betyr det samme som *, /, - og pi.

log er logaritmen med grunntall 10, og ln er den naturlige logaritmen, med grunntall e. Dette er merkingen på vitenskapelige kalkulatorer fra TI og Casio, og navngivingen i NIST Digital Library of Mathematical Functions, avsnitt 4,2.

Regnerekkefølgen

Regnerekkefølgen er regelen som avgjør hva et uttrykk betyr. Denne kalkulatoren bruker grammatikken nedenfor. Hver linje kaller på linjen under seg, så nestingen utgjør presedenstabellen: Den siste linjen binder sterkest 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 som beregnes først til det som beregnes sist:

  1. alt som står i parenteser, samt en funksjon brukt på parenteser;
  2. ! og %;
  3. ^;
  4. et innledende -- eller +-tegn;
  5. *, / og to ting som står side om side;
  6. + og -.

Konvensjonene dette gir, samsvarer med ISO 80000-2:2019 og artikkelen «Order of operations» på Wikipedia:

SkrevetTolkes somVerdi
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 tall eller navn som står side om side, multipliseres. Det er dette som gjør at 2pi, 2(3+4) og 3sin(30) fungerer. Denne skjulte multiplikasjonen har samme rang som * og /, så en sidestilling og en divisjon leses fra venstre mot høyre. Mange håndholdte vitenskapelige kalkulatorer lar sidestilling binde tettere enn divisjon og leser 1/2pi som 1/(2*pi), noe som gir et annet svar. Wikipedia beskriver forskjellen i «Calculator input methods». Parenteser avgjør alle tilfeller der forskjellen har betydning.

% dividerer med 100 uansett hvor det står. Derfor er 20% lik 0,2, og 200*15% er lik 30. Det er ikke prosenttasten «prosent av løpende totalsum» på et butikkkassaapparat, og det er ikke en restoperator.

Eksempel

Uttrykket sin(30)+2^3*ln(4) beregnes i denne rekkefølgen i gradermodus:

  1. sin(30) er 0,5, fordi 30 grader er en tredjedel av en rett vinkel, og sinusverdien er en halv.
  2. 2^3 er 8. Potenser beregnes før multiplikasjon.
  3. ln(4) er 1,38629436112.
  4. 8 * 1.38629436112 er 11,090354889.
  5. 0.5 + 11.090354889 er 11,590354889.

Kalkulatoren viser 11,590354889.

Et annet eksempel viser regelen fra venstre mot høyre. I 6/2(1+2) beregnes parentesen først, slik at resultatet blir 6/2*3. Divisjonen og den skjulte multiplikasjonen har samme rang, så divisjonen utføres først: 6/2 er 3, og 3*3 er 9.

Grader og radianer

Innstillingen for vinkelenhet avgjør hvordan sin, cos og tan tolker inndataene sine, og hvilken enhet asin, acos og atan returnerer. I gradermodus er en hel omdreining 360. I radianmodus er en hel omdreining 2pi, omtrent 6,28318530718. Det samme uttrykket kan gi svært forskjellige svar i de to modusene: sin(30) er 0,5 i gradermodus og -0,988031624093 i radianmodus.

Hvordan tall lagres og vises

Hver verdi er et IEEE 754 binary64-tall, talltypen som beskrives i ECMA-262, ECMAScript Language Specification, avsnitt 6,1.6,1. Et dobbelttall har omtrent 15 til 17 desimalsifre. Svaret avrundes én gang, bare for visning på skjermen, til 12 signifikante sifre. Verdier under 0,000001 eller lik 1 000 000 000 000 og høyere vises på eksponentform, så 0.0000001 vises som 1E-7.

Det lagrede tallet beholder full presisjon. Minnet lagrer det nøyaktige resultatet, ikke de 12 sifrene på skjermen, og MR setter inn igjen den korteste teksten som tolkes som det samme tallet. En negativ minneverdi settes inn i parentes, slik at den etter en 2 tolkes som en multiplikasjon og ikke en subtraksjon.

Avrunding brukes aldri til å avgjøre noe. En liten rest fra tidligere aritmetikk er et reelt tall og behandles som ett. 0.1*3-0.3 er ikke null i binær form; det er omtrent 5,55111512313E-17, så 5/(0.1*3-0.3) gir 9,00719925474E16 i stedet for en melding om divisjon med null.

Av samme grunn viser sin(180) i gradermodus 1,22464679915E-16 og ikke 0. Feilen er omtrent én del av ti tusen milliarder milliarder, og den holder seg så liten. Tangens er unntaket og behandles nedenfor.

Hva kalkulatoren avviser

Kalkulatoren viser en melding i stedet for et svar når:

  • en nevner er nøyaktig null, inkludert et skrevet tall som er for lite for et dobbelttall, for eksempel 1e-400, som allerede er null når det leses;
  • sqrt får et negativt tall;
  • log eller ln får et tall som ikke er større enn null;
  • asin eller acos får et tall utenfor -1 til 1, definisjonsmengden angitt i NIST DLMF, avsnitt 4,14;
  • tan brukes ved 90 grader eller et hvilket som helst oddetallsmultiplum av dette, der den ikke har noen verdi;
  • det bes om fakultet av noe annet enn et helt tall fra 0 til 170;
  • et tall inneholder et ekstra desimalpunktum, som i 1.2.3;
  • uttrykket er lengre enn 512 tegn.

Grensen på 170 skyldes talltypen, ikke et valg: Fakultet av 170 er omtrent 7,25741561531E306, som fortsatt får plass i et dobbelttall, mens fakultet av 171 ikke gjør det. Tegngrensen på 512 kontrolleres i koden, fordi uttrykkets lengde avgjør hvor mye arbeid kalkulatoren utfører.

Tangenskontrollen avrunder vinkelen til 9 desimalplasser før den tester den. Dermed føres avvik fra tidligere beregninger tilbake til den eksakte asymptoten, på bekostning av et avvisningsområde på omtrent 5e-10 grader på hver side. tan(89.9999999994) returnerer 95 493 592 025, mens tan(89.9999999995) avvises. Radianmodus gjør ingen slik kontroll, fordi en skrevet radianverdi nær halvparten av pi bare er et annet tall uten særstatus.

Ofte stilte spørsmål

Hva gjør %-tasten her? Den dividerer med 100 uansett hvor den står. 100+10% er 100,1, fordi det betyr 100 pluss 0,1. Den beregner ikke en prosentandel av det som kom før den.

Er 2^3^2 64 eller 512? 512. Potenser grupperes fra høyre, så uttrykket betyr 2^(3^2), som er 2^9. Dette følger ISO 80000-2:2019.

Hvorfor er 6/2(1+2) 9 og ikke 1? En skjult multiplikasjon har samme rang som en divisjon, og uttrykk med lik rang leses fra venstre mot høyre. Kalkulatorer som lar sidestilling binde tettere, svarer 1. Parenteser fjerner tvilen.

Hvorfor viser ikke sin(180) 0? Fordi 180 grader først konverteres til radianer, og pi ikke kan skrives nøyaktig i binær form. Svaret er omtrent 1.2e-16, som er den sanne sinusverdien av tallet maskinen faktisk brukte.

Hva er forskjellen mellom log og ln? log har grunntall 10, så log(1000) er 3. ln har grunntall e, så ln(e) er 1. Tastaturmerkingen følger samme konvensjon som på vitenskapelige kalkulatorer fra TI og Casio.

Hvorfor avvises et fakultet over 170? Fakultetet til 171 er større enn ethvert tall et dobbelttall kan lagre, så svaret ville blitt uendelig i stedet for et tall. Kalkulatoren sier dette i stedet for å vise et meningsløst resultat.

Kilder

  • IEEE 754-2019, IEEE-standarden for flyttallsaritmetikk.
  • ECMA-262, ECMAScript Language Specification, avsnitt 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, avsnittene 4,2 og 4,14.
  • Wikipedia, «Order of operations».
  • Wikipedia, «Calculator input methods».