IEEE754中是否存在关于加法的中性元素

nik*_*sfi 5 c floating-point double low-level ieee-754

请考虑以下代码段

double id = ?;
double res;
long unsigned *res_u = (long unsigned*)&res;

long unsigned i;
for (i = 0; i < (long unsigned)-1; i++){
    double *d1 = (double*)&i;
    res = id + *d1;
    assert(*res_u == i);
}
Run Code Online (Sandbox Code Playgroud)

我的问题:是否有价值id,所以断言适用于所有人i?换句话说,对于我们中间的数学家来说,是否有两倍是加法的中性元素?

Pas*_*uoq 7

-0. 矛盾的是,浮点值对于加法起中性作用.

+0.差不多了,但是-0. + (+0.)做了+0..

除此之外,+inf + (-0.)制造+inf,-inf + (-0.)制造-infNaN + (-0.)制造NaN.

  • 假设默认舍入.如果将舍入模式设置为round-to-minus-infinity,则"+ 0"为中性. (6认同)
  • 对; DAZ和FTZ超出了IEEE-754的范围. (2认同)