最佳答案
有没有一种方法可以通过编程获得最接近1.0但实际上不是1.0的 double?
一种简单的方法是 memcpy 将这个 double 复制为一个相同大小的整数,然后减去一个。按照 IEEE754浮点格式的工作方式,这将最终导致指数减少1,同时将小数部分从所有零(1.00000000000)改为所有一(1.11111111111111111)。然而,存在一些机器,其中整数存储为 little-endian,而浮点数存储为 big-endian,因此这种方法并不总是有效。