C++の機能だけで多倍長計算を考えるスレ
■ このスレッドは過去ログ倉庫に格納されています
桁上がり:
・最上位ビットを使わないでおいて桁上がりを検出する
(一桁で表現できる数が半分の大きさになり若干総桁数が増加する)
乗算:
・一語の半分の桁数しか使わない
(簡単だが桁数、つまり容量と全ての演算の速度が単純に倍になる)
・一語を半分づつに分けて計算して合わせる
(ロジックが複雑になり速度が低下する、
またターゲットCPUに整数乗算命令があってもそれがうまく使われない可能性がある)
…ということになりアセンブラとくらべて
本質的に(最適化のよしあしとは関係なく)速度効率的にはよろしくないことになる。
(このあたりはプリミティブ・レベルの話なので
いくらtemplateでgenerativeに頑張っても解消はしない。)
■ このスレッドは過去ログ倉庫に格納されています