华摄氏度和摄氏度的转换小数点处理 单片机
上一篇博客写到 华摄氏度和摄氏度的相互转换,有个细节要注意下,嘻嘻,细节决定成败。由于是无符号整型的运算,这里涉及到的小数点的处理,即四舍五入的处理,不然,小数部分就被直接去掉了,如果结果是65.8,当然,你要的结果是66,而不是65,对吧?具体为如果CelEquVal * 9 / 5 + 32 运算后的小数大于等于0.5 ,预算后的结果应该再加1,才更接近运算值。我是这么处理的,现将被除数放大10倍,再进行运算,这样,就可以将运算后10的余数和5比较,就能得到是否加1.判断小数点的运算#define CalVal(CelEquVal) (unsigned int ) (CelEquVal* 9 *10/ 5 ) %10//计算华摄氏度的小数
#defineFahVal(FahEquVal ) (unsigned int ) ((FahEquVal - 32) * 5 *10/ 9)%10//计算摄氏度的小数 具体应用:
//摄氏度转成华氏度:
if(CalVal(CelEquVal ) >=5 )
{FahEquVal = CelToFahAdd(CelEquVal);//小数点大于等于0.5的运算
}
else
{FahEquVal = CelToFah(CelEquVal);//小数点小于0.5的运算
}华氏度转成摄氏度:
if(FahVal(FahEquVal ) >=5 )
{
CelEquVal=CelToFahAdd(FahEquVal);//小数点大于等于0.5的运算
}
else
{
CelEquVal=CelToFah(FahEquVal);//小数点小于0.5的运算
}上篇博客的 华摄氏度和摄氏度的转换 公式优化:
摄氏度转成华氏度:
#define CelToFah(CelEquVal) (unsigned int )(CelEquVal * 9 / 5 + 32)//小数点小于0.5的运算
#define CelToFahAdd (CelEquVal) (unsigned int )((CelEquVal * 9 / 5 + 32)+1)//小数点大于等于0.5的运算
华氏度转成摄氏度:
#define FahToCel(FahEquVal) (unsigned int)((FahEquVal - 32) * 5 / 9))//小数点小于0.5的运算
#define FahToCelAdd (FahEquVal) (unsigned int)(((FahEquVal - 32) * 5 / 9)+1)//小数点大于等于0.5的运算
华摄氏度和摄氏度的转换小数点处理 单片机相关推荐
- c语言摄氏度字符,c语言摄氏度与华氏温度如何转换
c语言摄氏度与华氏温度如何转换西门子新闻内容 查阅次数:4720 更新时间: 2019-11-24 11:16 摄氏度与华氏度的转换公式为C=*5/9. 不少人看到这样的转换公式就会将摄氏度C ...
- 单片机c语言ad与da转换实验报告,单片机AD与DA转换实验报告.docx
单片机AD与DA转换实验报告.docx 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3 ...
- 华摄氏度和摄氏度的转换 华摄氏度转化摄氏度 使用带运算的宏定义
定义: 摄氏度:CELSIUS EQUALS 华氏度:FAHENHEIT EQUALS 彼此间的转换很容易,如下: 将摄氏度转成华氏度:将摄度以氏直接乘以9,除5,再加上32 华氏度转成摄氏度:将华氏 ...
- C++ 实现 摄氏度 华氏度 温度转换(尽量少的代码)
题目 使用 C++ 语言,实现下面这段 python 代码所实现的 温度转换 功能, 体会 python 语言的简洁高效. C++ 代码实现温度转换 #include <iostream> ...
- php摄氏度,一摄氏度的温暖
一摄氏度的温暖 "我现在真的越来越爱你了呀~" "吹牛~~" "真的,我已经不能自拔了.我掉入了你的心窝里,太软了,我都爬不动了!" &qu ...
- php 百分比转换小数点,php 百分数如何转小数
php百分数转小数的方法:首先创建一个PHP示例文件:然后定义一个百分数:接着通过"(float)$a/100;"方法将百分数转为小数:最后通过echo输出转换后的小数即可. 推荐 ...
- html怎么转换小数点,在HTML5数字input(客户端)中强制小数点而不是逗号
使用指定的小数点精度的step属性,您的html5数字input将接受小数. 例如. 取值10.56; 我的意思是2位小数的数字,这样做: 您可以进一步指定最大允许值的max属性. 目前,Firefo ...
- 华氏摄氏度与摄氏度的换算
package com.lenovo.ww.dome; import java.math.BigDecimal; import java.math.RoundingMode; /** * 小明天气计 ...
- java练习题之华氏摄氏度与摄氏度的转化。
package Test; import java.util.Scanner; public class Test2 {public static void main(String[] args) { ...
最新文章
- apache thrift分析
- C++的那些事:你真的了解引用吗
- 基于稀疏表示的人脸识别 (SRC,LASRC,RASL,MRR)
- pycharm自带python环境_Pycharm安装+python安装+环境配置
- 信息学奥赛一本通 2031:【例4.17】四位完全平方数
- git服务器文件同步,利用git让服务器网站与本地同步 ssh配置
- Python通过多帧静态图像制作GIF动态图像
- python批量读取图片并批量保存_Python实现批量读取图片并存入mongodb数据库的方法示例...
- Kafka 详解(二)------集群搭建
- cocos2d-x 如何使用Visual Studio 2010和xcode 4混合编写手机游戏
- android横向滑动控件,Android学习——HorizontalScollview水平滚动控件
- php7 fastdfs,关于centos7 fastdfs部署
- 微橙人人店 php,最新微橙人人店分销3.5.7整站源码,全开源任意二开,新增及修复多项功能,附升级补丁...
- SM2258XT错误代码及中文翻译
- 注记字体样式选择指导
- Barrett And Montgomery of Polynomials
- [转载]轻松学习XML(六)
- 2020哈工程上岸初复试经验
- IO流实现写入规定的acci码值
- 使用 PyTorch 搭建网络 - predict_py篇