「プログラミング/共通知識」の版間の差分

→‎数値: s/ケタ落/浮動小数点数による誤差/、桁落ちは別の概念。また例が「丸め」を行わず「切り捨て」ていた。{{See also|浮動小数点数}}、{{See also|桁落ち}}
(→‎中間言語を生成するプログラミング言語: s/中間言語を機械語に翻訳するという仕組み/中間言語を読み込みそれを実行するという仕組み/)
タグ: 2017年版ソースエディター
(→‎数値: s/ケタ落/浮動小数点数による誤差/、桁落ちは別の概念。また例が「丸め」を行わず「切り捨て」ていた。{{See also|浮動小数点数}}、{{See also|桁落ち}})
タグ: 2017年版ソースエディター
 
=== 数値 ===
ソースコードで記述する整数リテラル、及び小数リテラルは、特に指定をしないかぎり、10進数である。整数と、(ほとんどの場合、[[w:IEEE 754|IEEE 754]]に準拠した) 有限のケタの小数が、普通のプログラム言語では使える。分数や平方根(<math>\sqrt 3</math> など)などは、関数として用意されている場合でも、評価結果が近似される。また、小数も精度以下の部分は近似して表されます
{{See also|[[W:浮動小数点数|浮動小数点数]]}}
 
<!-- 1.73205 08075 68877 29352 74463 41505 87236 69428 05253 -->
もし<math>\sqrt 3</math>が <math>1.732050807732050808</math> に近似されたなら、コンピュータ内部では、<math>1.73205 \, 08075 \, 68877 \, 29352 \, 74463 \, 41505 \, 87236 \, 69428 \, 05253 \, \cdots</math>ではなく、<math>1.732050807732050808 \times 10^0</math>という値として表現されています。上記のように、本来なら数学的には無限のケタの平方根などの無理数を有限ケタの小数に近似してしまうため、誤差が発生する。このような、無限小数を有限小数に近似したために誤差の発生する現象のことを'''ケタ落ち浮動小数点数による誤差'''という。
 
過去の編集で、'''浮動小数点数による誤差''' を'''ケタ落ち'''としていましたが、'''桁落ち'''とは、丸め誤差を含む非常に近い大きさの小数同士で減算を行ったときに、有効数字が減る現象のことを言い有限の仮数部と指数部で表すことによる誤差とは違う概念です。また一般に浮動小数点数は2進数が採用されているので、十進数では有限桁数で表現できても浮動小数点数では循環小数になることがあります(例えば、
0.1<sub>10</sub> = 0.000110011001100…<sub>2</sub>)。
{{See also|[[W:桁落ち|桁落ち]]}}
 
== GUIプログラミング ==
3,374

回編集