Calculadora científica: potencias, raíces y logaritmos
Calculadora científica en línea con potencias, raíces, logaritmos y ln, seno, coseno y tangente en grados o radianes, factoriales, porcentajes y 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.
Documentación
Calculadora científica
Una calculadora científica calcula el valor de una expresión matemática escrita. Esta interpreta potencias, raíces, logaritmos, trigonometría, factoriales y porcentajes, aplica el orden estándar de las operaciones y muestra una respuesta.
Qué hace la calculadora
La expresión se escribe en el cuadro Expresión o se construye con el teclado. La calculadora la interpreta en cuanto cambia, por lo que no hace falta pulsar la tecla de igualdad para ver la respuesta. La tecla = añade el cálculo a una lista del historial.
Acepta:
- los dígitos, el punto decimal y los números en forma exponencial, como
1.5e-3; - los operadores
+,-,*,/y^(potencia), además de los corchetes; - las constantes
piye; - las funciones
sin,cos,tan,asin,acos,atan,log,ln,sqrtycbrt; - los signos posfijos
!(factorial) y%(porcentaje).
Los símbolos del teclado se traducen a sus equivalentes simples, por lo que ×, ÷, − y π significan lo mismo que *, /, - y pi.
log es el logaritmo en base 10 y ln es el logaritmo natural, de base e. Esta es la notación utilizada en las calculadoras científicas TI y Casio y en la sección 4,2 de la Biblioteca Digital de Funciones Matemáticas del NIST.
El orden de las operaciones
La regla que determina el significado de una expresión es el orden de las operaciones. Esta calculadora utiliza la gramática siguiente. Cada línea llama a la línea que está debajo, por lo que la anidación constituye la tabla de precedencia: la última línea es la que enlaza con mayor fuerza y se calcula primero.
1expression := term (('+' | '-') term)*
2term := unary (('*' | '/' | juxtaposition) unary)*
3unary := ('-' | '+') unary | power
4power := postfix ('^' unary)?
5postfix := primary ('!' | '%')*
6primary := number | constant | name '(' expression ')' | '(' expression ')'
7En forma de lista, desde lo que se calcula primero hasta lo último:
- todo lo que esté dentro de corchetes y una función aplicada a corchetes;
!y%;^;- un signo inicial
-o+; *,/y dos elementos escritos uno junto al otro;+y-.
Las convenciones resultantes coinciden con ISO 80000-2:2019 y con el artículo «Orden de las operaciones» de Wikipedia:
| Forma escrita | Se interpreta como | Valor |
|---|---|---|
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 |
Dos números o nombres escritos uno junto al otro se multiplican, lo que permite que funcionen 2pi, 2(3+4) y 3sin(30). Esta multiplicación implícita tiene la misma precedencia que * y /, por lo que una yuxtaposición y una división se interpretan de izquierda a derecha. Muchas calculadoras científicas portátiles dan mayor precedencia a la yuxtaposición que a la división e interpretan 1/2pi como 1/(2*pi), lo que produce una respuesta diferente. Wikipedia describe esta diferencia en «Métodos de entrada de las calculadoras». Los corchetes resuelven cualquier caso en el que la diferencia sea relevante.
% divide entre 100 allí donde aparezca. Por tanto, 20% es 0,2 y 200*15% es 30. No es la tecla «porcentaje del total acumulado» de una caja registradora ni un operador de resto.
Ejemplo práctico
La expresión sin(30)+2^3*ln(4), en modo Grados, se calcula en este orden:
sin(30)es 0,5, porque 30 grados equivalen a la mitad de un ángulo recto y su seno es un medio.2^3es 8. Las potencias se calculan antes que la multiplicación.ln(4)es 1,38629436112.8 * 1.38629436112es 11,090354889.0.5 + 11.090354889es 11,590354889.
La calculadora muestra 11,590354889.
Un segundo ejemplo muestra la regla de izquierda a derecha. En 6/2(1+2), el contenido de los corchetes se calcula primero, dando 6/2*3. La división y la multiplicación implícita tienen la misma precedencia, por lo que la división se calcula primero: 6/2 es 3 y 3*3 es 9.
Grados y radianes
El ajuste de la unidad angular determina cómo sin, cos y tan interpretan su entrada y qué unidad devuelven asin, acos y atan. En modo Grados, una vuelta completa es 360. En modo Radianes, una vuelta completa es 2pi, aproximadamente 6,28318530718. La misma expresión puede dar respuestas muy diferentes en los dos modos: sin(30) es 0,5 en modo Grados y -0,988031624093 en modo Radianes.
Cómo se almacenan y muestran los números
Cada valor es un número binario64 de doble precisión IEEE 754, el tipo numérico descrito en ECMA-262, la Especificación del lenguaje ECMAScript, sección 6,1.6,1. Un número de doble precisión almacena aproximadamente entre 15 y 17 dígitos decimales. La respuesta se redondea una sola vez, únicamente para la pantalla, a 12 dígitos significativos. Los valores inferiores a 0,000001 o iguales o superiores a 1.000.000.000.000 se muestran en forma exponencial, por lo que 0.0000001 se muestra como 1E-7.
El número almacenado conserva toda la precisión. La memoria guarda el resultado exacto, no los 12 dígitos de la pantalla, y MR vuelve a insertar el texto más corto que representa ese mismo número. Un valor negativo de la memoria se inserta entre corchetes, de modo que recuperarlo después de un 2 se interpreta como una multiplicación y no como una resta.
El redondeo nunca se utiliza para decidir nada. Un pequeño residuo de operaciones anteriores es un número real y se trata como tal. 0.1*3-0.3 no es cero en binario; es aproximadamente 5,55111512313E-17, por lo que 5/(0.1*3-0.3) da 9,00719925474E16 en lugar de mostrar un mensaje de división entre cero.
Por la misma razón, sin(180) en modo Grados muestra 1,22464679915E-16 y no 0. El error es de aproximadamente una parte entre diez mil millones de millones y se mantiene así de pequeño. La tangente es la excepción y se trata más adelante.
Qué rechaza la calculadora
La calculadora muestra un mensaje en lugar de una respuesta cuando:
- el denominador es exactamente cero, incluido un número escrito demasiado pequeño para un número de doble precisión, como
1e-400, que ya es cero al interpretarlo; - se proporciona a
sqrtun número negativo; - se proporciona a
logolnun número que no es mayor que cero; - se proporciona a
asinoacosun número fuera del intervalo de -1 a 1, el dominio indicado en la sección 4,14 del DLMF del NIST; - se utiliza
tancon 90 grados o con cualquier múltiplo impar de ese valor, donde no tiene valor; - se solicita el factorial de algo que no sea un número entero entre 0 y 170;
- un número contiene un segundo punto decimal, como en
1.2.3; - la expresión tiene más de 512 caracteres.
El límite de 170 es una propiedad del tipo numérico, no una preferencia: el factorial de 170 es aproximadamente 7,25741561531E306, lo que todavía cabe en un número de doble precisión, mientras que el factorial de 171 no cabe. El límite de 512 caracteres se comprueba en el código, porque la longitud de la expresión determina cuánto trabajo realiza la calculadora.
La comprobación de la tangente redondea el ángulo a 9 decimales antes de ponerlo a prueba. Así, el desvío producido por operaciones anteriores vuelve a situarse en la asíntota exacta, a costa de una ventana de rechazo de aproximadamente 5e-10 grados de ancho a cada lado. tan(89.9999999994) devuelve 95.493.592.025 y tan(89.9999999995) se rechaza. El modo Radianes no realiza esta comprobación, porque un valor en radianes escrito cerca de la mitad de pi es simplemente otro número, sin un tratamiento especial.
Preguntas frecuentes
¿Qué hace aquí la tecla %?
Divide entre 100 allí donde aparece. 100+10% es 100,1, porque significa 100 más 0,1. No calcula un porcentaje de lo que aparezca antes.
¿2^3^2 es 64 o 512?
512. Las potencias se agrupan de derecha a izquierda, por lo que significa 2^(3^2), que es 2^9. Esto sigue la norma ISO 80000-2:2019.
¿Por qué 6/2(1+2) es 9 y no 1?
La multiplicación implícita tiene la misma precedencia que una división, y las operaciones de igual precedencia se interpretan de izquierda a derecha. Las calculadoras que dan mayor precedencia a la yuxtaposición responden 1. Los corchetes eliminan la duda.
¿Por qué sin(180) no muestra 0?
Porque 180 grados se convierte primero a radianes y pi no puede escribirse exactamente en binario. La respuesta es aproximadamente 1.2e-16, que es el valor verdadero del seno del número que la máquina utilizó realmente.
¿Cuál es la diferencia entre log y ln?
log es de base 10, por lo que log(1000) es 3. ln es de base e, por lo que ln(e) es 1. Las etiquetas del teclado siguen la misma convención que las calculadoras científicas TI y Casio.
¿Por qué se rechaza un factorial superior a 170? El factorial de 171 es mayor que cualquier número que pueda contener un número de doble precisión, por lo que la respuesta sería infinito y no un número. La calculadora lo indica en lugar de mostrar un resultado sin sentido.
Fuentes
- IEEE 754-2019, norma IEEE para la aritmética de coma flotante.
- ECMA-262, Especificación del lenguaje ECMAScript, sección 6.1.6.1, «El tipo Number».
- ISO 80000-2:2019, Magnitudes y unidades, parte 2: Signos y símbolos matemáticos.
- Biblioteca Digital de Funciones Matemáticas del NIST, secciones 4,2 y 4,14.
- Wikipedia, «Orden de las operaciones».
- Wikipedia, «Métodos de entrada de las calculadoras».