x
整数が与えられたとしましょう(特に、2 で割り切れる1 桁でy
満足します)。次に、それらの平均も整数であることを知っています。この中間点を の解像度に切り上げたいと思います。つまり、私の 2 つの入力が 75200 と 75300 の場合、平均は 75250 であり、最も近い値に切り上げられます(ただし、より大きな数を超えたり等しくなったりすることはありません) と、答えは 75200 になります。x <= y
0
avg = ((x+y) / 2)
100
100
最初にすべてを 100 で割り、次の浮動小数点演算を使用せずに、このロジックを実装するにはどうすればよいですか。
x + std::floor((y - x) * .5 * 100 + .5)*0.01
言い換えれば、浮動小数点値を使用せずに上記を行うにはどうすればよい100
です0.01
か?