取整的方法有四种:向上取整,向下取整,四舍五入,小数截断。(源自数学吧)
C++中可以使用函数完成前三种:
1.ceil()<cmath> //(取比这个数大的最小整数)向上取整 4.5—>5 –4.5—>-4
2.foor()<cmath>//(取比这个数小的最大整数)向下取整 4.5—>4 -4.5—>-5
3.round()<cmath>//四舍五入 4.5—>5 4.4—>4
正数的左移与右移,负数的无符号右移,就是相应的补码移位所得,在高位补0即可。
负数的右移,就是补码高位补1,然后按位取反加1即可。(原转补:~Y+1)(补转原:~B+1)
attention:分享一篇参考文章:负数的右移与无符号右移运算