华氏温度转摄氏温度c语言作业,c语言摄氏度与华氏温度如何转换
描述
摄氏度与华氏度的转换公式为C=(F-32)*5/9。
不少人看到这样的转换公式就会将摄氏度C和华氏度F定义成浮点数类型的变量。
然后采用C语言编写
C=(F-32)*5/9的语句进行转换。
如果在带有浮点数高级处理器上运算、或者是对实时性没有要求,不在乎该转换所耗费的时间,则没有任何问题。
但是如果该程序运行在普通的单片机,而且该单片机除了要进行转换之后,还有其它实时性要求高的任务需要处理。比如需要快速进行故障判断并进行保护,或者是需要进行通信数据处理,快速响应。
比如需要进行输出短路的保护判断,有些输出的短路可能需要在几百us内进行保护,否则可能损坏器件,如果该转换耗时几ms以上,可能就会导致响应不及时,造成器件损坏。
所以当程序运行在普通的单片机时,我们还需要考虑该单片机是否支持硬件的浮点数运算,甚至要考虑是否有硬件的乘法器。
普通的单片机不支持硬件浮点数运算,浮点数的四则运算可能需要软件算法实现,会花费大量的时间。
这种情况,我们可以根据精度和量程要求,放缩之后,将C和F定义为整型的变量,再进行运算。
比如,如果我们取1位小数的精度,量程为100摄氏度,
则可以将C和F定义为16位的整型,采用下列的程序进行转换;
signed short C, F;
C=(F-32)*50/9。
早期的Microchip的PIC16F,PIC18F系列的处理器,没有硬件乘除法器,进行乘除法运算,都需要通过软件算法实现,可能耗费几十ms的时间。
这种情况我们可以通过加法和移位操作实现;
*5/9约等于36408/65536=(32768+2048+1024+512+32+16+8)/65536;
将C定义为32位的整型。
signed int C, d1,d2;
d1=F-32;
d2=d1 《《 3;//*8
d1 = d1 《《1;//*16
d2 += d1;
d1 = d1 《《 1;//*32;
d2 += d1;
d1 = d1 《《 5;//*512;
d2+= d1;
d1 = d1 《《 1;//*1024;
d2 += d1;
d1 = d1 《《 4; //*32768
d2+= d1;
C=d2》》16;
这样可以大大节省转换时间。
首先,我们要理解需求,就像你问的“摄氏度与华氏温度如何转换”,然后就是设计,简单点就是使用怎样的公式算法来解决问题,
“摄氏温标”是经验温标之一,亦称“百分温标”。温度符号为t,单位是摄氏度,国际代号是“℃”
华氏温标”是经验温标之一。在美国的日常生活中,多采用这种温标。规定在一大气压下水的冰点为32度,沸点为212度,两个标准点之间分为180等分,每等分代表1度。华氏温度用字母“F”表示。它与摄氏温度(C)和之间的换算关系为F=9/5c+32, 或C=5/9(F-32)。
现在转换公式已经有了,就是编码实现了。
代码:
#include 《stdio.h》
int main(void)
{
float F,C;
print(“华氏度--摄氏度转换器\n”)
printf(“请输入您需要转换的华氏温度:”);
scanf(“%f”,&F);
C = (F-32)*5/9.0;
printf(“其对应的摄氏温度为:%.2f \n”,C);
return 0;
}
打开APP精彩内容
点击阅读全文
华氏温度转摄氏温度c语言作业,c语言摄氏度与华氏温度如何转换相关推荐
- pta c语言作业,C语言PTA平台习题与答案
第二章作业 1 ①.本题要求编写程序,输出一个短句"Welcome to You!" #include int main() { printf("Welcome to Y ...
- 华师c语言作业,C语言程序设计(华师在线作业)1.doc
C语言程序设计(华师在线作业)1 本学期作业以附件形式完成1. 完成一个大小写字母自动转换的程序,输入大写字母,程序可以输出小写字母,输入小写字母,可以输出大写字母2. 用三种循环方式实现1-100的 ...
- 自动批改c语言作业,C语言 选择题功课批改
C语言 选择题作业批改 输入 第一行包含2个整数n,k,分别表示本次考试中试选择题的个数和每个选择题的分值.第二行包含一个长度为n的字符串,表示标准答案.第三行包含一个整数s,表示试卷的份数.其下的s ...
- 反弹c语言作业,C语言实现反弹球小游戏
本文为大家分享了C语言反弹球游戏的具体代码,供大家参考,具体内容如下 这是利用函数写的C语言小游戏,用来检验自己的学习成果 反弹球的实现主要有几个子函数组成 问题也在于如何实现小球的下落,以及碰撞得分 ...
- 网吧管理系统C语言作业,C语言课程设计-网吧管理系统.doc
C语言课程设计-网吧管理系统 <通信工程专业C语言课程设计> 报 告 专 业: 通信工程 班 级: 0802 姓 名: 赵 松 指导教师: 丁 雄 二00九 年 十二 月 二十五 日 目 ...
- 输出教师信息c语言作业,C语言教师管理系统代码(最新整理)
<C语言教师管理系统代码(最新整理)>由会员分享,可在线阅读,更多相关<C语言教师管理系统代码(最新整理)(7页珍藏版)>请在人人文库网上搜索. 1.include #incl ...
- 订单查询系统c语言作业,C语言设计订单管理系统答题.doc
PAGE \* MERGEFORMAT30 C语言课程设计 随米打印订单管理系统 学 院: 计算机与信息科学学院 学生姓名: 谢润发 指导教师: 王新祥 职称 教授 专 业: 网络工程 班 级: 15 ...
- 图书馆系统c语言作业,C语言图书馆管理系统课程设计报告
<C语言图书馆管理系统课程设计报告>由会员分享,可在线阅读,更多相关<C语言图书馆管理系统课程设计报告(16页珍藏版)>请在人人文库网上搜索. 1.高级语言程序设计课程设计报告 ...
- 停车场管理系统C语言作业,c语言课程设计报告停车场管理系统
c语言课程设计报告停车场管理系统 C 语言课程设计报告 --停车场管理 1 班 级: 192102 学 号: 20101003907 姓 名: 聂 彪 指导教师: 张冬梅 时 间: 2011 年 6 ...
- 湖南师范大学c语言作业,c语言上机实验(湖南师范大学).ppt
c语言上机实验(湖南师范大学) 实验内容 实验1: 熟悉上机环境和顺序结构编程练习--键盘输入与屏幕输出练习 问题1:要使下面程序的输出语句在屏幕上显示1,2,34,则从键盘输入的数据格式应为以下备选 ...
最新文章
- 2021.4.7 美团买菜后端开发实习生(二面)(含总结)(已oc)
- html标签的id中带有.号的获取方式
- mysql 写 性能,MySQL在大型,只写表上的性能
- 自动化运维——一键安装MySQL
- 数据库外键的使用原则
- 【Linux】 iptables vs firewalld
- boost::geometry::strategy::distance::haversine用法的测试程序
- 计蒜客NOIP模拟D1T2
- Drchen的学习清单
- Exchange 2013SP1和O365混合部署系列二
- JavaScript的DOM编程--01--js代码的写入位置
- php反向解析域名,域名系统 – Cloudflare,反向DNS和php邮件,最终在垃圾邮件文件夹中...
- hive优化--增加减少map数
- better-scroll使用的坑与心得
- visio2013剪除_Visio 2003 图形剪切合并 高级技巧
- 企业服务总线(EnterpriseServiceBus,ESB)
- 计算机实验室行政助理职责,【实验室助理工作内容|工作职责|实验室助理做什么】-看准网...
- 浅谈道路交通事故车辆安全技术鉴定
- 腾讯 X5 不能加载内核
- 十大畅销经济学类书籍
热门文章
- Java FileReader读文件
- c语言5名同学3门课程成绩,输入5名同学3门课程的成绩 求: 1)每门课程的平均成绩。2)找出最高分数所对应的学生和课程。...
- 微信小程序比较用户微信客户端版本号
- python爬虫案例(2)
- 微信公众号搜索公众号列表 API
- linux五种子系统,Ubuntu 下五个最好的 BT 客户端
- 电源设计经验之 MOS 管驱动电路
- SVN 文件夹图标不显示问题的解决办法
- [汇编语言]立即数寻址和寄存器寻址
- python金融衍生品有哪些_什么是金融衍生品,金融衍生品有哪些?