enteros grandes con longitud fija [cerrado]
-
08-07-2019 - |
Pregunta
Estoy buscando una biblioteca para enteros grandes pero con ancho fijo (128 o 256 serían suficientes). La razón es que no quiero ninguna asignación en el montón. Traté de hacerlos yo mismo, pero implementar la multiplicación, la división y el módulo de una manera eficiente parece ser bastante doloroso.
¿Esto ya existe en alguna parte?
Gracias
Solución
Eche un vistazo a la biblioteca GMP: www.gmplib.org
Cita de las categorías de funciones:
Entero positivo de bajo nivel, difícil de usar, muy baja sobrecarga las funciones se encuentran en el mpn categoría. No hay administración de memoria realizado; la persona que llama debe asegurarse hay suficiente espacio disponible para resultados. (...)
Eso parece ser lo que necesitas.
Otros consejos
Esto al menos parece prometedor (pulse el número 8 para int128 library
en Google).
http://www.mx-3.cz /tringi/www/langen.php?id=int128
" A diferencia de otras clases de números grandes, puede trabajar con estas al igual que con otras P.O.D. tipos (por ejemplo, almacenar y cargar archivos desde fwrite / fread). La representación interna de estos es un entero little endian de 128 bits correcto. & Quot;
Si encuentra GMP demasiado complicado para su gusto, Dave Hanson tiene algunas funciones muy buenas en su libro C Interfaces e implementaciones . Hay una interfaz de bajo nivel que no asigna (usted controla todo), y luego hay dos interfaces de nivel superior que administran progresivamente más asignación en el montón.