Calculadora de números enormes|Suma, resta, multiplicación y potencia sin límite de dígitos (BigInt)

Herramienta gratuita para calcular con exactitud enteros enormes sin ningún error de redondeo. Usa BigInt de JavaScript para realizar sumas, restas, multiplicaciones, divisiones enteras (cociente y resto) y potencias exactas incluso por encima de 9.007.199.254.740.991 (2^53 − 1).

Por qué la precisión falla al superar 2^53

Una calculadora normal o el tipo Number de JavaScript ya no pueden distinguir enteros consecutivos al superar 2^53 (Number.MAX_SAFE_INTEGER). BigInt permite calcular con exactitud incluso más allá de ese límite.

Number.MAX_SAFE_INTEGER 9,007,199,254,740,991(253 − 1)
9007199254740992 + 1 Number: 9007199254740992(誤り) / BigInt: 9007199254740993(正確)

Consejos

  • Las calculadoras y hojas de cálculo comunes pierden precisión al superar 2^53 (unos 9 mil billones), pero esta herramienta usa BigInt para calcular con exactitud sin límite de dígitos.
  • La división entera (÷) muestra a la vez el cociente y el resto, útil para verificar operaciones de módulo usadas en criptografía y funciones hash.
  • El exponente está limitado a 1.000.000 por seguridad, ya que un exponente ilimitado podría bloquear el navegador.
  • Puedes pegar números con comas de miles (por ejemplo 1.234.567): se eliminan automáticamente antes de calcular.
  • Pulsa "Insertar ejemplo" para rellenar automáticamente un caso que supera 2^53, y así ver de inmediato la diferencia con una calculadora normal.

Preguntas frecuentes

El tipo Number habitual de JavaScript es un número de coma flotante de doble precisión (IEEE 754), que solo puede representar con seguridad enteros hasta 2^53 − 1 (9.007.199.254.740.991). Más allá de ese límite, enteros consecutivos se vuelven indistinguibles y los cálculos pierden precisión. Esta herramienta evita por completo ese límite usando el tipo BigInt.

No. BigInt es un tipo de JavaScript diseñado para admitir únicamente enteros, y no puede representar fracciones. Para cálculos con decimales, usa nuestra Calculadora estándar.

El resto es A − (cociente × B), donde el cociente se trunca hacia cero. Por ejemplo, −7 ÷ 2 da un cociente de −3 y un resto de −1.

Es útil siempre que una calculadora normal se quede corta en precisión: verificar operaciones con claves RSA (cientos o miles de dígitos), calcular factoriales enormes o comprobar aritmética de precisión arbitraria en programación competitiva.

No existe un límite fijo, pero la memoria y la velocidad de procesamiento del navegador imponen restricciones prácticas. Números de miles de dígitos se calculan al instante; los casos extremos (como un exponente superior a 1.000.000) están limitados por seguridad.
ツールくん

A propósito — Por qué los ordenadores no se llevan bien con los números enormes

La representación numérica en los ordenadores ha tenido durante mucho tiempo un límite estricto. El tipo de coma flotante de 64 bits (doble precisión), usado por defecto en la mayoría de lenguajes de programación, solo puede representar con seguridad enteros hasta 2^53 − 1 (9.007.199.254.740.991), porque su mantisa tiene apenas 53 bits. Más allá de eso aparecen errores de redondeo al representar esos enteros. Nuestra propia herramienta Calculadora tiene exactamente esta misma limitación de precisión.

Los enteros de precisión arbitraria (conocidos como "bignums") resuelven este problema. Hacia 2020, JavaScript incorporó un nuevo tipo llamado BigInt en todos los navegadores principales, permitiendo aritmética entera exacta sin más límite de dígitos que la memoria disponible. Internamente, un bignum se almacena como una serie de bloques de dígitos, así que el tiempo de cálculo crece con el número de dígitos: hay un compromiso real entre exactitud y velocidad.

Esta tecnología es imprescindible en criptografía. Las claves RSA, por ejemplo, usan habitualmente enteros de 2048 bits (más de 600 dígitos decimales), y las bibliotecas de precisión arbitraria se usan en todo el mundo para calcular las multiplicaciones y exponenciaciones modulares que requieren estas claves.

La programación competitiva involucra con frecuencia factoriales enormes (100! tiene 158 dígitos) o términos lejanos de la sucesión de Fibonacci. Los tipos numéricos habituales acumulan errores a mitad de estos cálculos, así que el dominio de los bignums suele marcar la diferencia entre una solución correcta y una incorrecta.

→ Ver todas las curiosidades