• ベストアンサー

平方根はどういうアルゴリズムにより計算していますか?

電卓或いはExcelなどの計算ソフトで平方根はどうやって計算しているのでしょうか? 検索してみるとニュートン法により計算出来ると書かれてあるのですが、 これは電卓でも一般的に使われているのでしょうか? それと3の0.7乗みたいな半端な数の場合にも 同じくニュートン法により計算しているのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • rinkun
  • ベストアンサー率44% (706/1571)
回答No.3

以前に自作したことがあるけど、平方根だけなら二分法が簡単かな。除法と同じような手法で計算できるよ。ニュートン法は浮動小数点の四則演算が安価にできないと面倒だからね。 一般のx^yは、指数関数・対数関数を作成してexp(y*log(x))で計算する。指数関数や対数関数はスケーリングして範囲を限定してから近似式などで計算する。 # 参考:初等関数の数値演算 http://www.amazon.co.jp/dp/4316375911

参考URL:
http://www.amazon.co.jp/dp/4316375911

その他の回答 (2)

  • rabbit_cat
  • ベストアンサー率40% (829/2062)
回答No.2

excelはハードウェア(CPU)に用意されている、平方根のを求める命令(fsqrt)を使っているだけでしょう。

回答No.1

そういった情報は公開されないので正確な回答は出来ませんが、 べき乗計算できる電卓であれば三角関数も実装している可能性が高いので、 CODIC法が使われているのではないでしょうか。(回路的にも小規模になりますし) http://teamcoil.sp.u-tokai.ac.jp/calculator/100224/index.html Excelなどのアプリケーションソフトはハードウェアのような 回路規模の制限はないのでアルゴリズムまったく不明ですが 計算速度を考えるとハードウェアと同様にCODIC法を用いているのではないかと考えます。

関連するQ&A