Jo *_*sev 1 math floating-point bit-manipulation
我只是想知道如何按位四舍五入到最接近的零?以前,我使用循环执行长除法。然而,由于数字总是除以数字的 2 次幂。我决定使用位移位。所以,我可以得到这样的结果:
12/4=3
13/4=3
14/4=3
15/4=3
16/4=4
Run Code Online (Sandbox Code Playgroud)
我可以通过像平常一样执行长除法来做到这一点吗?
12>>2
13>>2
Run Code Online (Sandbox Code Playgroud)
如果我使用这种位移位,不同编译器的行为是否不同?四舍五入怎么样?我正在使用 Visual C++ 2010 编译器和 gcc。谢谢