c语言摄氏度字符,c语言摄氏度与华氏温度如何转换

c语言摄氏度与华氏温度如何转换西门子新闻内容   查阅次数:4720   更新时间: 2019-11-24 11:16

摄氏度与华氏度的转换公式为C=*5/9。

不少人看到这样的转换公式就会将摄氏度C和华氏度F定义成浮点数类型的变量。

然后采用C语言编写

C=*5/9的语句进行转换。

如果在带有浮点数高级处理器上运算、或者是对实时性没有要求,不在乎该转换所耗费的时间,则没有任何问题。

但是如果该程序运行在普通的单片机,而且该单片机除了要进行转换之后,还有其它实时性要求高的任务需要处理。比如需要快速进行故障判断并进行保护,或者是需要进行通信数据处理,快速响应。

比如需要进行输出短路的保护判断,有些输出的短路可能需要在几百us内进行保护,否则可能损坏器件,如果该转换耗时几ms以上,可能就会导致响应不及时,造成器件损坏。

所以当程序运行在普通的单片机时,我们还需要考虑该单片机是否支持硬件的浮点数运算,甚至要考虑是否有硬件的乘法器。

普通的单片机不支持硬件浮点数运算,浮点数的四则运算可能需要软件算法实现,会花费大量的时间。

这种情况,我们可以根据精度和量程要求,放缩之后,将C和F定义为整型的变量,再进行运算。

比如,如果我们取1位小数的精度,量程为100摄氏度,

则可以将C和F定义为16位的整型,采用下列的程序进行转换;

signed short C, F;

C=*50/9。

早期的Microchip的pIC16F,pIC18F系列

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值