众所周知,在C语言中有三种取整函数,其分别是:floor()、ceil()、round()。
floor():向负无穷大取整,即向下取整;例如:floor(2.8) = 2
ceil():向正无穷大取整,即向上取整;例如:ceil(2.8) = 3
round():四舍五入取整,也称就近取整;例如:round(6.3)=6,round(6.6)=7
但在DSP中进行取整操作时,CCS只支持floor()、ceil()两个函数,不支持round()函数的使用。此时,用户若是想对一组数据进行四舍五入取整,则不能通过简单的一个取整函数实现了。
本文以下内容便介绍一种利用ceil()函数实现round()函数的转换方法:
首先,我们先取一组数值作为参考,来对方法进行介绍和验证;
样值:7.0 ~ 7.9
假设待取整未知数为x
方法步骤:
1.y = x - 0.4
2.z = ceil(y)
则z便是对x四舍五入取整后的数值。
例如:
注:未经允许不得转载!!!