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 ** 100nOutput1267650600228229401496703205376nJS BigInt
Errores comunes
- Mixing Number and BigInt in JS throws
- Use BigInt uniformly or convert explicitly
Términos relacionados
Modular Arithmetic
La aritmética modular toma restos tras operaciones enteras, manteniendo los resultados en [0, n); es el fundamento de la teoría de números y la criptografía. GLOSARIO
Prime Number
Un número primo es un número natural mayor que 1 divisible solo entre 1 y sí mismo; es el bloque constituyente de la teoría de números, y todo entero se factoriza de forma única en primos. GLOSARIO
Factorial
El factorial n! = n×(n-1)×...×1 es la base de las permutaciones y combinaciones; crece extremadamente rápido, y 20! ya supera el rango de un entero de 64 bits. GLOSARIO