Che cos'è un algoritmo scalabile per stampare un numero intero N-binario manualmente il cui valore non si adatta a long long
. So printf
e amici, insieme a <iostream>
(che molto probabilmente piggy-back su <cstdio>
hanno questo integrato per i tipi standard, ma mi piacerebbe farlo per un intero composto da N byte.stampa manuale di un intero N-byte
ho pensato a questo e googled un po ', ma si tratta sempre di usare un bigint libirario preesistente come GMP (un codebase che non conosco affatto) o "use printf" o il più utile "questo è difficile"
il numero intero è fondamentalmente:
template<size_t N>
class Integer{
...
private:
int8_t first;
uint8_t rest[N-1];
}
così reinterpretando byte un Integer<4>
's w Potresti prenderti un int32_t
. Mi piacerebbe ridimensionarlo a N> 8. L'efficienza non è davvero la mia preoccupazione al momento. Né è endianness (questo è per x86).
Io lo prendo è necessario stampare il numero in decimale? – NPE
@aix yes decimal sarebbe l'idea. – rubenvb
Il mio consiglio sarebbe di usare comunque una libreria bigint; quelle librerie sono debuggate e provate. Come troverai difetti nella tua codifica? Non è come se si verificassero i risultati con carta e penna o in Excel. – tomdemuyt