历史上的今天
今天是:2025年02月19日(星期三)
正在发生
2019年02月19日 | STM32学习笔记7——浮点数四舍五入
2019-02-19 来源:eefocus
C 中浮点转换为整型是截断的,直接将后面的小数去掉,而不是四舍五入。
如:uint16_t(12.89)=12,而不是13。
项目中写了个小函数,将浮点数输入后,直接用7段译码管显示,用上述方法转换为整型后发现有显示误差。解决方法如下:
1、定义一个四舍五入小数的宏
#define ROUND_TO_UINT16(x) ((uint16_t)(x)+0.5)>(x)? ((uint16_t)(x)):((uint16_t)(x)+1) //将浮点数x四舍五入为uint16_t
2、使用例程
下面即可将数据四舍五入为整型数
disp_num = ROUND_TO_UINT16(num);
ROUND_TO_UINT16(12.89)=13!
推荐阅读
史海拾趣
|
被誉为万能电路的\"555\"集成电路以独有的电路结构和控制特性,被广泛地应用在电子控制、信号检测、仪器仪表、家用电器、定时控制中,可构成\"单稳态、脉宽调制,形波信号\"等独立的单元电路。… 查看全部问答> |
|
乱了 一大堆的资料 可现在确实不知道该从何处下手了。。 求哪个做个这个题目的大哥大姐给个参考啊 谢谢了。。 我的邮箱:wendy0109@sina.com… 查看全部问答> |
|
Windows Embedded CE 6.0帮助文档中介绍,Establishing a Modem Connection的流程如下: lineInitializeEx ↓ lineOpen ↓ lineMakeCall ↓ lineGetMessage & ...… 查看全部问答> |




