Calcolatrice scientifica: potenze, radici, log e trig
Calcolatrice scientifica online con potenze, radici, logaritmi e ln, seno, coseno e tangente in gradi o radianti, fattoriali, percentuali e memoria.
Scientific Calculator
Evaluates a typed or tapped expression with the usual order of operations, including powers, roots, logarithms, trigonometry and factorials.
Keypad
How this calculator reads an expression
History
No calculations yet. Press = to add one.
Documentazione
Calcolatrice scientifica
Una calcolatrice scientifica calcola il valore di un'espressione matematica scritta. Questa legge potenze, radici, logaritmi, funzioni trigonometriche, fattoriali e percentuali, applica il consueto ordine delle operazioni e restituisce una risposta.
Cosa fa il calcolatore
Un'espressione si digita nella casella Espressione oppure si costruisce con il tastierino. La calcolatrice la legge non appena cambia, quindi non serve il tasto uguale per visualizzare la risposta. Il tasto = aggiunge invece il calcolo a un elenco della cronologia.
Accetta:
- le cifre, il separatore decimale e i numeri in forma esponenziale, come
1.5e-3; - gli operatori
+,-,*,/e^(potenza), oltre alle parentesi; - le costanti
piee; - le funzioni
sin,cos,tan,asin,acos,atan,log,ln,sqrtecbrt; - i simboli postfissi
!(fattoriale) e%(percentuale).
I simboli del tastierino vengono tradotti nei corrispondenti simboli semplici, quindi ×, ÷, − e π hanno lo stesso significato di *, /, - e pi.
log è il logaritmo in base 10 e ln è il logaritmo naturale, in base e. Questa è la nomenclatura usata nelle calcolatrici scientifiche TI e Casio e nella NIST Digital Library of Mathematical Functions, sezione 4,2.
L'ordine delle operazioni
La regola che stabilisce il significato di un'espressione è l'ordine delle operazioni. Questa calcolatrice utilizza la grammatica seguente. Ogni riga richiama quella sottostante, quindi la nidificazione costituisce la tabella delle precedenze: l'ultima riga ha la precedenza maggiore e viene elaborata per prima.
1expression := term (('+' | '-') term)*
2term := unary (('*' | '/' | juxtaposition) unary)*
3unary := ('-' | '+') unary | power
4power := postfix ('^' unary)?
5postfix := primary ('!' | '%')*
6primary := number | constant | name '(' expression ')' | '(' expression ')'
7Elencate dalla prima operazione eseguita all'ultima:
- tutto ciò che si trova tra parentesi quadre e una funzione applicata alle parentesi quadre;
!e%;^;- un segno iniziale
-o+; *,/e due elementi scritti uno accanto all'altro;+e-.
Le convenzioni che ne risultano corrispondono alla norma ISO 80000-2:2019 e all'articolo «Ordine delle operazioni» di Wikipedia:
| Scrittura | Si legge come | Valore |
|---|---|---|
2^3^2 | 2^(3^2) | 512 |
-2^2 | -(2^2) | -4 |
2^-2 | 2^(-2) | 0,25 |
2^3! | 2^(3!) | 64 |
100+10% | 100 + (10/100) | 100,1 |
1/2pi | (1/2) * pi | 1,57079632679 |
6/2(1+2) | (6/2) * (1+2) | 9 |
Due numeri o nomi scritti uno accanto all'altro vengono moltiplicati; è così che funzionano 2pi, 2(3+4) e 3sin(30). Questa moltiplicazione implicita ha la stessa precedenza di * e /, quindi una giustapposizione e una divisione vengono lette da sinistra a destra. Molte calcolatrici scientifiche portatili assegnano alla giustapposizione una precedenza maggiore della divisione e leggono 1/2pi come 1/(2*pi), ottenendo una risposta diversa. Wikipedia descrive questa differenza nell'articolo «Metodi di inserimento nelle calcolatrici». Le parentesi risolvono ogni caso in cui la differenza sia rilevante.
% divide per 100 ovunque si trovi. Quindi 20% è 0,2 e 200*15% è 30. Non è il tasto «percentuale del totale progressivo» di una cassa e non è un operatore resto.
Esempio svolto
L'espressione sin(30)+2^3*ln(4), in modalità Gradi, viene elaborata nel seguente ordine:
sin(30)è 0,5, perché 30 gradi equivalgono a metà di un angolo retto e il loro seno è un mezzo.2^3è 8. Le potenze precedono la moltiplicazione.ln(4)è 1,38629436112.8 * 1.38629436112è 11,090354889.0.5 + 11.090354889è 11,590354889.
La calcolatrice mostra 11,590354889.
Un secondo esempio mostra la regola da sinistra a destra. In 6/2(1+2) la parentesi viene elaborata per prima, dando 6/2*3. La divisione e la moltiplicazione implicita hanno la stessa precedenza, quindi viene eseguita prima la divisione: 6/2 è 3 e 3*3 è 9.
Gradi e radianti
L'impostazione dell'unità angolare stabilisce come sin, cos e tan interpretano l'input e quale unità restituiscono asin, acos e atan. In modalità Gradi, un giro completo è 360. In modalità Radianti, un giro completo è 2pi, circa 6,28318530718. La stessa espressione può dare risposte molto diverse nelle due modalità: sin(30) è 0,5 in modalità Gradi e -0,988031624093 in modalità Radianti.
Come vengono memorizzati e visualizzati i numeri
Ogni valore è un numero double binario IEEE 754 binary64, il tipo numerico descritto in ECMA-262, ECMAScript Language Specification, sezione 6,1.6,1. Un double contiene circa da 15 a 17 cifre decimali. La risposta viene arrotondata una sola volta, esclusivamente per lo schermo, a 12 cifre significative. I valori inferiori a 0,000001 o maggiori o uguali a 1.000.000.000.000 vengono mostrati in forma esponenziale, quindi 0.0000001 viene visualizzato come 1E-7.
Il numero memorizzato mantiene la precisione completa. La memoria conserva il risultato esatto, non le 12 cifre visualizzate, e MR reinserisce il testo più breve che viene interpretato come quello stesso numero. Un valore negativo in memoria viene reinserito tra parentesi, quindi richiamarlo dopo un 2 viene interpretato come una moltiplicazione anziché come una sottrazione.
L'arrotondamento non viene mai usato per prendere decisioni. Un piccolo residuo derivante da operazioni precedenti è un numero reale e viene trattato come tale. 0.1*3-0.3 non è zero in binario; è circa 5,55111512313E-17, quindi 5/(0.1*3-0.3) dà 9,00719925474E16 invece di un messaggio di divisione per zero.
Per lo stesso motivo sin(180) in modalità Gradi mostra 1,22464679915E-16 e non 0. L'errore è di circa una parte su diecimila miliardi di miliardi e rimane così piccolo. La tangente costituisce un'eccezione, descritta più avanti.
Cosa rifiuta il calcolatore
La calcolatrice mostra un messaggio invece della risposta quando:
- il denominatore è esattamente zero, compreso un numero scritto troppo piccolo per un double, come
1e-400, che è già zero al momento della lettura; - a
sqrtviene assegnato un numero negativo; - a
logolnviene assegnato un numero non maggiore di zero; - a
asinoacosviene assegnato un numero esterno all'intervallo da -1 a 1, il dominio indicato nella sezione 4,14 del NIST DLMF; tanviene usata a 90 gradi o a un suo multiplo dispari, dove non ha valore;- si richiede il fattoriale di un valore diverso da un numero intero compreso tra 0 e 170;
- un numero contiene un secondo separatore decimale, come in
1.2.3; - l'espressione è più lunga di 512 caratteri.
Il limite di 170 è una proprietà del tipo numerico, non una scelta: il fattoriale di 170 è circa 7,25741561531E306, quindi rientra ancora in un double, mentre il fattoriale di 171 non vi rientra. Il limite di 512 caratteri viene controllato nel codice, perché è la lunghezza dell'espressione a determinare la quantità di lavoro eseguita dalla calcolatrice.
Il controllo della tangente arrotonda l'angolo a 9 cifre decimali prima di verificarlo. In questo modo gli scarti dovuti alle operazioni precedenti vengono riportati sull'asintoto esatto, al costo di una finestra di rifiuto larga circa 5e-10 gradi per lato. tan(89.9999999994) restituisce 95.493.592.025, mentre tan(89.9999999995) viene rifiutata. La modalità Radianti non esegue questo controllo, perché un valore in radianti digitato vicino alla metà di pi greco è semplicemente un altro numero, senza un trattamento speciale.
Domande frequenti
Che cosa fa qui il tasto %?
Divide per 100 ovunque compaia. 100+10% è 100,1, perché significa 100 più 0,1. Non calcola una percentuale di ciò che lo precede.
2^3^2 è 64 o 512?
512. Le potenze si raggruppano da destra, quindi significa 2^(3^2), che equivale a 2^9. Ciò segue la norma ISO 80000-2:2019.
Perché 6/2(1+2) è 9 e non 1?
Una moltiplicazione implicita ha la stessa precedenza di una divisione e le operazioni con la stessa precedenza vengono lette da sinistra a destra. Le calcolatrici che assegnano alla giustapposizione una precedenza maggiore restituiscono 1. Le parentesi eliminano il dubbio.
Perché sin(180) non mostra 0?
Perché 180 gradi vengono prima convertiti in radianti e pi greco non può essere rappresentato esattamente in binario. Il risultato è circa 1.2e-16, che è il valore reale del seno del numero effettivamente usato dalla macchina.
Qual è la differenza tra log e ln?
log è in base 10, quindi log(1000) è 3. ln è in base e, quindi ln(e) è 1. Le etichette del tastierino seguono la stessa convenzione delle calcolatrici scientifiche TI e Casio.
Perché viene rifiutato un fattoriale superiore a 170? Il fattoriale di 171 è maggiore di qualsiasi numero contenibile in un double, quindi la risposta sarebbe l'infinito anziché un numero. La calcolatrice lo segnala invece di mostrare un risultato privo di significato.
Fonti
- IEEE 754-2019, Standard IEEE per l'aritmetica in virgola mobile.
- ECMA-262, ECMAScript Language Specification, sezione 6.1.6.1, «The Number Type».
- ISO 80000-2:2019, Quantità e unità, Parte 2: segni e simboli matematici.
- NIST Digital Library of Mathematical Functions, sezioni 4,2 e 4,14.
- Wikipedia, «Ordine delle operazioni».
- Wikipedia, «Metodi di inserimento nelle calcolatrici».