double dInitialized = 0.00000002036;
dInitialized 0,00000002036
- , dInitialized 0,00000002036. - , 10 0,00000002036 2.
, . . , , . , .
epsilon . , (, ), 1-15. (, ), .
: .
11 ?
,
static double epsilon = 1e-11;
if (Math.Abs(dParsed-dInitialized) > epsilon*Math.Abs(dInitialized)) {
noteTestAsFailed();
}
epsilon 4e-16.
# 2: double.Parse ?
, ? double.Parse . , , 0,00000002036 , , , , ULP (0,00000002036). "" - , ULP . , .
0.00000002036 - . . , IEEE, 6153432421838462/2 ^ 78 6153432421838463/2 ^ 78. 12306864843676925/2 ^ 79, , 0,00000002036. . , , , double.Parse, , , .
# 3:
0.00000002036:
- 2/1e8 + 3/1e10 + 6/1e11
- 2 * 1e-8 + 3 * 1e-10 + 6 * 1e-11
- 2.036 * 1e-8
- 2.036/1e8
- 2036 * 1e-11
- 2036/1e11
. , , .