- 締切済み
2進数の乗算をc言語で計算したいです。
二進数をc言語を用いて乗算したいのですが、 足し算と同じやり方でしか 思い浮かびません。 桁上がりを考慮するように頑張っても 正しい答えが出ません。 ifをたくさん使うやり方ではできるのですが・・・ あまりそれではプログラムが長すぎてしまします。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- yama1718
- ベストアンサー率41% (670/1618)
回答No.3
何をしたいかよく分からないのですが、 桁の多い多倍長の整数の乗算をしたいという話でしょうか? 勉強の為に直接乗算の演算子を使わずに計算してみたいという話でしたら、 2進数の2倍や半分はビットシフトを使うと高速に計算できるので、これを利用すれば乗算を高速に計算できます。(参考URL) Cで乗算の計算式をコンパイルすれば、内部ではこの様なアルゴリズムやアセンブラの乗算命令などにコンパイラが最適化してくれます。