演算順序のバグか
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/03/21 06:16 UTC 版)
「生命、宇宙、そして万物についての究極の疑問の答え」の記事における「演算順序のバグか」の解説
ディープ・ソートは演算順序の問題を抱えていたのではないか、というプログラマのジョークがある。つまり例えば、6×9=(1+5)×(8+1)=54とすべきところを6×9=1+5×8+1=42としてしまったため、「究極の問い」が「6×9」でなく「6×7」になってしまったのではないか、というジョークである。 例えば下記のC言語で記述されたプログラムでは、1 + 5 を SIX 、 8 + 1 を NINE としてマクロ定義し、SIX * NINE を計算している。プログラムを実行するとコンピュータは42という値を表示する。なぜなら、SIX * NINE はコンパイルの前に 1 + 5 * 8 + 1 と展開され、演算子の優先順位により乗算が先に計算されるからである。 #include
※この「演算順序のバグか」の解説は、「生命、宇宙、そして万物についての究極の疑問の答え」の解説の一部です。
「演算順序のバグか」を含む「生命、宇宙、そして万物についての究極の疑問の答え」の記事については、「生命、宇宙、そして万物についての究極の疑問の答え」の概要を参照ください。
- 演算順序のバグかのページへのリンク