我只是想知道如何按位四舍五入到最接近的零?以前,我使用循环执行长除法。但是,由于数字总是除以数字的幂除以 2。我决定使用位移。所以,我可以得到这样的结果:
12/4=3
13/4=3
14/4=3
15/4=3
16/4=4
我可以像往常一样通过执行长除法来做到这一点吗?
12>>2
13>>2
如果我使用这种位移,不同编译器的行为是否不同?四舍五入怎么样?我正在使用 Visual c++ 2010 编译器和 gcc。谢谢
我只是想知道如何按位四舍五入到最接近的零?以前,我使用循环执行长除法。但是,由于数字总是除以数字的幂除以 2。我决定使用位移。所以,我可以得到这样的结果:
12/4=3
13/4=3
14/4=3
15/4=3
16/4=4
我可以像往常一样通过执行长除法来做到这一点吗?
12>>2
13>>2
如果我使用这种位移,不同编译器的行为是否不同?四舍五入怎么样?我正在使用 Visual c++ 2010 编译器和 gcc。谢谢