Co to jest skalowalny algorytm do drukowania N-liczbowo-binarnych liczb całkowitych ręcznie, którego wartość nie mieści się w long long
. Wiem printf
i przyjaciele, wraz z <iostream>
(który najprawdopodobniej świnka-beki na <cstdio>
mieć to polecenie wbudowane do standardowych typów, ale chciałbym to zrobić za całkowitą złożonej z N bajtów.ręczne drukowanie liczby całkowitej N-bajtowej
myślałem o tym i googled trochę, ale zawsze sprowadza się do korzystania z wcześniej istniejących big libirary jak GMP (kod źródłowy, którego w ogóle nie znam) lub "use printf" lub najbardziej pomocny "to jest trudne". liczba całkowita jest zasadniczo:
template<size_t N>
class Integer{
...
private:
int8_t first;
uint8_t rest[N-1];
}
tak interpretuje wykonania Integer<4>
„s bajtów w może ci dać int32_t
. Chciałbym skalować to do N> 8. Wydajność w tej chwili nie jest moim problemem. Nie jest to endianness (dotyczy to x86).
Zakładam, że musisz wydrukować liczbę w systemie dziesiętnym? – NPE
@aix tak dziesiętny byłby ideą. – rubenvb
Moja rada byłaby w każdym razie korzystania z biblioteki bigint; te biblioteki są debugowane i sprawdzone. Jak znajdziesz błędy we własnym kodowaniu? To nie jest tak, że zamierzasz zweryfikować wyniki piórem i papierem lub w Excelu. – tomdemuyt