Saltar al contenido
uencoder

BigInteger

BigInteger es un tipo de entero de precisión arbitraria, no limitado por un tamaño de palabra fijo, usado para cálculos más allá del rango de los enteros nativos (como criptografía y combinatoria).

Propósito

Liberar la aritmética entera de los límites de desbordamiento de 32/64 bits y admitir números arbitrariamente grandes.

Mecanismo

Almacena los dígitos (o limbs) de un número grande en un array e implementa la aritmética dígito a dígito. La multiplicación se acelera con Karatsuba/FFT. Entre las implementaciones están BigInteger de Java, int de Python (enteros grandes automáticos) y BigInt de JS. Es inmutable; las operaciones devuelven objetos nuevos.

Casos de uso

  • Aritmética de números grandes en RSA
  • Factoriales grandes y combinatoria
  • Cálculo financiero exacto
  • Teoría de números e investigación de primos

Ejemplos

  • entrada
    2n ** 100n
    Output
    1267650600228229401496703205376n

    JS BigInt

Errores comunes

Mixing Number and BigInt in JS throws
Use BigInt uniformly or convert explicitly

Términos relacionados

Herramientas relacionadas

References