• 締切済み

2進数の乗算をc言語で計算したいです。

二進数をc言語を用いて乗算したいのですが、 足し算と同じやり方でしか 思い浮かびません。 桁上がりを考慮するように頑張っても 正しい答えが出ません。 ifをたくさん使うやり方ではできるのですが・・・ あまりそれではプログラムが長すぎてしまします。 よろしくお願いします。

みんなの回答

  • yama1718
  • ベストアンサー率41% (670/1618)
回答No.3

何をしたいかよく分からないのですが、 桁の多い多倍長の整数の乗算をしたいという話でしょうか? 勉強の為に直接乗算の演算子を使わずに計算してみたいという話でしたら、 2進数の2倍や半分はビットシフトを使うと高速に計算できるので、これを利用すれば乗算を高速に計算できます。(参考URL) Cで乗算の計算式をコンパイルすれば、内部ではこの様なアルゴリズムやアセンブラの乗算命令などにコンパイラが最適化してくれます。

参考URL:
http://d.hatena.ne.jp/sh-2/20100605/1275763021
  • joqr
  • ベストアンサー率18% (742/4026)
回答No.2

入力された2進数を10進数に変換して 計算結果を2進数に戻せばいい この様に考えれば、8進数と2進数の四則演算も容易にできます プログラミングとは、問題を解決するための手段であり 柔軟な発想ができなければ、つまらないだけですよ 頑張ってください

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

何をしたいのか, もっと詳しく書いてください. 単に a*b だけでも十分だったりしませんか?

関連するQ&A