N-ikili basamaklı tamsayı el ile yazdırmak için ölçeklenebilir bir algoritma olan long long
, değeri long long
. Ben birlikte printf
ve arkadaşlar biliyorum <cstdio>
üzerinde büyük olasılıkla domuz-sırtları standart türleri için bu yerleşiğini var, ama N bayt oluşan bir tamsayı için bunu yapmak istiyorum <iostream>
(.N-baytlık tamsayı elle yazdırma
Bu konuda düşündüm ve biraz googled, ama her zaman önceden var olan GMP gibi bigint libirary (ben hiç aşina değilim bir kod temeli) ya da "kullanım printf" veya en yararlı "Bu zor" kullanarak gelir.
tam sayı temelde:
template<size_t N>
class Integer{
...
private:
int8_t first;
uint8_t rest[N-1];
}
çok w
Integer<4>
sitesindeki bayt yeniden yorumlayan Bir
int32_t
olsun. Bunu N> 8'e ölçeklendirmek istiyorum. Verimlilik şu anda benim endişem değil. Endensellik de değil (x86 için).
Numarayı ondalık olarak yazdırmanız gerekiyor mu? – NPE
@aix yes decimal bu fikir olurdu. – rubenvb
Benim tavsiyem zaten bir bigint kütüphanesi kullanmak olurdu; Bu kütüphaneler ayıklanır ve kanıtlanır. Kendi kodunuzdaki kusurları nasıl bulacaksınız? Sonuçları kalemle veya kağıtla veya Excel'de doğrulamak gibi değil. – tomdemuyt