¿Qué es un algoritmo escalable para imprimir un entero de 0 dígitos N-binarios manualmente cuyo valor no se ajusta a long long
. Sé printf
y amigos, junto con <iostream>
(que muy probablemente Piggy-Back sobre <cstdio>
tienen esta orden interna para los tipos estándar, pero me gustaría que lo haga por un entero compuesto de N bytes.impresión manual de un número entero de 0 bytes
He pensado en esto y googleó un poco, pero siempre se reduce a usar una libigery bigint preexistente como GMP (una base de código con la que no estoy familiarizado) o "use printf" o la más útil "esto es difícil".
El número entero es básicamente:
template<size_t N>
class Integer{
...
private:
int8_t first;
uint8_t rest[N-1];
}
así reinterpretación de bytes una Integer<4>
's w debería obtener un int32_t
. Me gustaría escalar esto a N> 8. La eficiencia no es realmente mi preocupación en este momento. Tampoco lo es endianness (esto es para x86).
Supongo que necesita imprimir el número en decimal? – NPE
@aix sí decimal sería la idea. – rubenvb
Mi consejo sería usar una biblioteca bigint de todos modos; esas bibliotecas están depuradas y probadas. ¿Cómo encontrará fallas en su propia codificación? No es como si fuera a verificar los resultados con lápiz y papel o en Excel. – tomdemuyt