A 回答 (11件中1~10件)
- 最新から表示
- 回答順に表示
No.11
- 回答日時:
何を「間違い」とするかです。
現在の計算機は二進数を基準にしています。その方が都合がいいからです。
まず、内部で値を表現する方法ですが、電気回路なので電気的な特性を利用します。
多いのは電圧です。
しかし、このときに、例えば「5を表現するのに5V」などとやってしまうと、さまざまな誤差要因によって、4.9だったり5.1だったりになってしまう場合があります(むしろ5.0になることの方が少ないでしょう)
そこで、「高い電圧は1,低い電圧は0」とすると、1=5Vを設定しようとして4.9Vとか5.1Vとかになったとしても、「高い電圧」なので「1」と正しく判定できることになります。
これが、正しく計算できる理由の一つです。
扱うのは
・1項の演算
△A→C
・2項の演算
A○B→C
だけです。3項以上の複雑な式も、2項ずつ演算していきます。
※ここで、A,B,Cは一桁の二進数、○△は演算子
この2項の演算の結果は、16通りしかありません(A,Bの組合せは0,0/0,1/1,0/1,1の4通り。それぞれに対してのCが (0/0/0/0),(0/0/0/1),(0/0/1/0),....,(1/1/1/1)と、16通り)
あとは、どんな複雑な計算でも、最終的に上の演算になるまで展開していくだけです。
その展開方法と、16通りの計算方法に間違いがなければ、正しく計算できます。これが理由の2です。
(さらに言えば、16通りの演算もさらに展開でき、最終的には一つの演算子だけで全ての演算が表現できます。つまり、一つの回路の組合せだけで全ての計算ができます)
次に誤差ですが、これは計算機が有限の値しか扱えない以上、どうしようもないことです。
しかし、これは「間違い」ではありません。
例えば、整数の演算を考えたときに
5÷3 = 1.666666......
となり、整数の範囲に収まりません。そこで「端数切り捨て」とか「四捨五入」とかルールを決めて値を求めます。
5÷3 = 1 (切り捨て)
5÷3 = 2 (四捨五入)
これはこれで、ルールに従った正しい結果です。
真の値との差が「誤差」です。計算のルールが同じなら、誤差も同じです。
「計算間違い」というのは、そのルールと違う結果になることです。(切り捨てのはずなのに5÷3 = 2 になる、とか)
計算機はルールに従って演算するだけなので、誤差はあっても間違いはありません。
以上が理論的に計算間違いが無いことの説明です。
ところが、実際にはいろんな要因で間違うケースもあります。
回路を作るのは人間です。組合せを間違えてしまうこともあります。
どの演算を使うか、を制御するのがプログラムです。プログラムを作るのは人間です。間違えてしまうことがあります。
電気回路なので、当然、環境による特性変化があります。これにより、誤動作することがあります。(例えば、熱による抵抗値の変化:熱で抵抗が増える→電圧低下で1と見做せない電圧までさがってします→0と判定される、など)
製造段階の不具合によって、回路が正常動作しないこともあります(接触不良とか異物によるショートとか)
ただ、これらは
・設計段階で防げるものは防ぐ(多少電圧が落ちてたりノイズが乗ったりしても正しく0/1判定できるようの回路にする、とか)
・出すまでに様々な方法でチェックしている(出荷前のテストとか)
があるので、一般ユーザーが間違える計算機を持っていることはまずありません。
No.9
- 回答日時:
それでは逆にお伺いします。
人間は何故間違いをするのでしょうか?
それが理解でき、コンピューターの動きを少しでも理解できればおのずと答えは出てきます。
この回答への補足
人間は計算の途中で寸前の計算を忘れてしまうというようなことがあるので今まさにやっている計算を間違えてしまうことがある、というようなことでしょうか?
しかし計算機は後の計算に必要な計算結果などはメモリに残しておくので計算間違いをすることがない、というようなことでしょうか?
そうであるとするならば、計算機が残しておかなくてはいけない計算結果をメモリに残すのを忘れてしまって後の計算を間違えてしまうというようなことが起きないのはなぜでしょうか?
No.7
- 回答日時:
間違いの他に、計算していくうえでどうしても誤差が発生することがあります。
例えば、小数点以下の数字が終わらない場合は、どうしてもある位置で切り捨てるか四捨五入しますね。両方計算してみると、ずれる場合があります。その結果をどう見るかは計算させる人間側の問題です。
No.5
- 回答日時:
「間違う」という能力が無いためですね。
もちろん、計算間違いをするようにプログラムされていれば、プログラム通りに計算間違いしますが。
実際には、温度上昇その他の原因で誤動作して計算間違いをすることはあります。ただし、誤動作した場合は計算間違い以上の状況・・・・停止とか固まる(無反応)とかになることが多いですが。
No.4
- 回答日時:
計算間違いしますよ。
桁数制限で、難を逃れるように出来ています。
関数電卓や、表計算ソフトは、プログラムが修正されており、計算間違いが起こらないようになっています。
エクセルの場合数年前に特定の計算で誤差が出ることが判明(悪評が立った)して、マイクロソフトが修正しました。
ひょっとしたら、西暦2000年あたりの日付を用いれば、ミスを起こすかも?!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 仕事術・業務効率化 給料計算はシステムを使用してればて計算は不用ですか? 時間の計算を電卓を使用して計算する必要あります 2 2023/04/05 14:34
- 時計・電卓・電子辞書 電卓は、何年使用してますか?携帯、スマホは、除く 5 2022/08/30 11:22
- その他(悩み相談・人生相談) 電卓で税込の計算が合わないです。 私の職場の商品は本体が230円で税込で249円なのに 計算機で税込 4 2022/04/15 23:33
- 会計ソフト・業務用ソフト 「表計算ソフト」と「スプレッドシート」についての質問です。 4 2023/06/12 14:19
- 数学 ピラミッド計算の仕方を教えて下さい。 5 2023/01/03 16:04
- iPhone(アイフォーン) iPhoneでPayPayアプリを開いて操作しながら利用履歴を計算機で計算したいのですが二分割でPa 2 2023/03/29 12:06
- 数学 冪乗の計算について教えてください 5 2023/04/22 22:36
- その他(ビジネス・キャリア) 今時の派遣社員って仕事が出来ないだけじゃなく計算も出来ないのか? 8 2022/07/22 20:53
- その他(生活家電) 溶接機の消費電力計算方法について 1 2023/08/23 15:57
- 数学 数Ⅱ Σの計算 3 2023/06/16 01:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
matlabでの右軸plot
-
Perlでのルートの計算
-
めちゃきれい
-
MathematicaのNDSolveで連立常...
-
(汎用的に)行列の積を求める...
-
機械の扱える最も0に近い実数は?
-
65536は2の何乗なのでしょうか?
-
VBAの再計算が反映されない件に...
-
移動平均を計算するプログラム
-
パイソン。前の計算が、後の関...
-
チェス 論理クイズ
-
【fortran77】データ行数のカウ...
-
POSTを使って、アプリを操作したい
-
エクセル以外で麻雀の成績を管...
-
正しい五十音順について
-
銃を発砲するならともかく、日...
-
方対数グラフを書く為の計算方...
-
javaからAS400のプログラム起動
-
OS入ってる機器のソフト・アプ...
-
ニュースを取得してホームペー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
VBAの再計算が反映されない件に...
-
排他的論理和 BCC(水平パリテ...
-
EXCELなどで「返す」という表現
-
変化させるセルが変化しない
-
エクセルで特定のセルのみを任...
-
CとFORTRANの計算速度はどちら...
-
モジュロ
-
バッチファイルでウインドウを...
-
Visual C++でdebugとreleaseで...
-
y=(x^2 +3x+1)^4を微分の定義を...
-
入射角反射角
-
スレッド処理からダイアログを...
-
60進数の四則計算
-
Javaと他言語比較について
-
VBAで関数をつくる
-
C言語 Σをつかったプログラム
-
CRC8を教えてください
-
C言語についてです。 再帰を使...
-
C言語について 下の画像は do-w...
おすすめ情報