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?换句话说,对于我们中间的数学家来说,是否有两倍是加法的中性元素?
-0. 矛盾的是,浮点值对于加法起中性作用.
+0.差不多了,但是-0. + (+0.)做了+0..
除此之外,+inf + (-0.)制造+inf,-inf + (-0.)制造-inf和NaN + (-0.)制造NaN.