回答編集履歴
1
fix answer
test
CHANGED
@@ -2,6 +2,6 @@
|
|
2
2
|
`1/a`の時点で浮動小数点数になります.C等の他の言語と違って,除算`/`と商`//`の演算に差があります.
|
3
3
|
|
4
4
|
## f(10)=1.0000000009となるが、f(10)とf(2)で誤差が生じる理由
|
5
|
-
浮動小数点数はIEEE-754で表現すれば
|
5
|
+
浮動小数点数はIEEE-754の64bitで表現すれば,`1/10`すなわち`0.1`が循環小数`0|01111111011|1001100110011001100110011001100110011001100110011010`となって切り捨てられる部分があるため,`1`と`0.1`の演算やそれを10倍する処理で差が生まれます.
|
6
6
|
|
7
7
|
詳しくは「[丸め誤差](https://www.google.com/search?q=%E4%B8%B8%E3%82%81%E8%AA%A4%E5%B7%AE)」で調べてください.
|