値が に収まらないN バイナリ桁の整数を手動long long
で出力するスケーラブルなアルゴリズムは何ですか? 私は知っているprintf
し、友人も<iostream>
(おそらくピギーバック<cstdio>
は標準型にこの組み込みを持っていますが、N バイトで構成される整数に対してそれを行いたいと思っています。
私はこれについて考えて少しグーグルで検索しましたが、常にGMP(私がまったく慣れていないコードベース)または「printfを使用する」または最も役立つ「これは難しい」などの既存のbigintライブラリを使用することになります。 .
整数は基本的に次のとおりです。
template<size_t N>
class Integer{
...
private:
int8_t first;
uint8_t rest[N-1];
}
Integer<4>
したがって、のバイトを再解釈すると、 が得られますint32_t
。これをN>8にスケーリングしたいと思います。効率性は、現時点ではあまり関心がありません。エンディアンでもありません (これは x86 用です)。