- ベストアンサー
コンピューターの
コンピューターの得意な演算、不得意な演算について教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
コンピュータをどのように定義するか.で多少答えが変わりますが。 比較的楽な計算は. 繰り上がり(下がり)なし.固定長.2進数.加算・減算・論理和・積・反転・排他的論理和 でしょうか。この範囲ならば8080程度でサポートしています。 整数乗算・除算は8086からサポートされましたから.楽な演算というは楽なほうでしょう。 不得意な演算というと.無限長の演算でしょう。 アセンプラを除くと.LISPしか無限長の演算はできません。 また.大きな問題.つまり.データが1ボリウムに入りきれない問題は.プログラマー泣かせになります。ちょっと大きなビルの耐震計算をする場合などでしょう。 HDD1台に結果も問題も作業領域も確保できるのであれば.たとえ.オンメモリーにできなくても楽です。ところが.媒体交換処理を含んだり.媒体分割処理をふくだりすると.とたん.難しくなります。 BASICやCは.比較的豊富な文字演算関数をサポートしていますから.比較的楽に.ある程度の桁(1000桁とか5000桁とか)の演算が可能ですが.とにかく処理が遅いです。苦手といえばにかてでしょう。 両者の間に入るのが.固定長.小数演算です。7.2桁浮動小数点実数等です。80387以降.浮動小数点等の為の専用演算命令がサポートされるようになり.楽といえば楽でしょう。 既にあるように有功桁の問題とか.桁落ちの問題とか.それなりの問題を抱えています。
その他の回答 (4)
- kony0
- ベストアンサー率36% (175/474)
案外怪しいのは、小数の計算で、 われわれの10進数の世界でいう0.1は 2進数の世界では、0.0(0011)(0011)…と循環小数になってしまいます。 だから、所詮有限桁しか保持できないコンピューターにおいては、端数の丸め誤差がでやすい(たとえdouble型を使っていても)というところではないでしょうか?
- uyama33
- ベストアンサー率30% (137/450)
他にもあります。 大きすぎる数の計算。 大きすぎるとオーバーフローエラーになります。 小さな数の計算 小さすぎると0と見なされます。 得意なのは、 integer、 double, 。。。。 など、すでに定義されている値の範囲内に収まる計算だけです。
- Hageoyadi
- ベストアンサー率40% (3145/7860)
「二値の組合わせ」しかコンピュータはできませんので、 0/1 On/Off 光/闇 穴あき/穴なし コンピュータで扱える情報は、文字でも絵でも音でも、簡単に言うと0/1の組み合わせでしかありませんので、割り切れる計算は得意と言っていいでしょうね。 http://www.nhk.or.jp/denno/nagare/20/03.html 苦手な計算の代表は「法則の発見」とか、血液型性格判断のようなパターンマッチングでしょうか。たくさんのデータから一つのデータを探し出すことはできても、データの集まりの中からその規則性を導き出したり予測するのは苦手だと習ったことがあります。
- taknt
- ベストアンサー率19% (1556/7783)
不得意な演算 10/3のような 答えがきちんと出ないもの。 小数点の演算 得意なのは、上記以外。
お礼
あまりにも漠然とした質問をしてしまいましたが、真摯に回答くださりありがとうございました。