プログラムで1.0に最も近いdoubleを取得する方法はありますが、実際には1.0ではありませんか?
これを行うハックな方法の1つは、doubleを同じサイズの整数にmemcpyしてから、1を減算することです。IEEE754浮動小数点形式が機能する方法では、これにより、小数部をすべてゼロ(1.000000000000)からすべて1(1.111111111111)に変更しながら、指数が1つ減少します。ただし、整数がリトルエンディアンで格納され、浮動小数点がビッグエンディアンで格納されるマシンが存在するため、常に機能するとは限りません。