微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 单片机作负数运算

单片机作负数运算

时间:10-02 整理:3721RD 点击:
大家有没有用单片机进行负数(包括整数,浮点)的加、减、乘、除运算呢,大家提提自己的看法!欢迎贴上例程

单片机都能进行浮点运算,直接使用就行。对负数,小数没有要求。
dsp分浮点和定点类型,对于定点dsp需要在编程时对数据进行定点化。

正数减负数 等于 正数加负数
负数都可以写成0-正数吧

前辈能再跟说清楚点吗,菜鸟一个,不是太懂。谢谢

        x=0.000061368*0.000001*TEMP_Wet;
        x=(x+0.0020341*0.00001)*TEMP_Wet;
        x=(x+0.0000030312)*TEMP_Wet;
        x=(x+0.00026507)*TEMP_Wet;
        x=(x+0.014290)*TEMP_Wet;
        x=(x+0.44365)*TEMP_Wet+6.1078;
        ETW=x;  //湿球温度的水面饱和水气压
        x=0.000061368*0.000001*TEMP_Dry;
        x=(x+0.0020341*0.00001)*TEMP_Dry;
        x=(x+0.0000030312)*TEMP_Dry;
        x=(x+0.00026507)*TEMP_Dry;
        x=(x+0.014290)*TEMP_Dry;
        x=(x+0.44365)*TEMP_Dry+6.1078;
        EW=x;  //干球温度的水面饱和水气压
E=ETW-0.000799*1000*(TEMP_Dry-TEMP_Wet);  //0.000799为自然通风时的A值,1000为大气压,E环境水气压

以上的公式,如果TEMP_Dry和TEMP_Wet这两个温度值,其中一个为负温度,或这两个都为负温度怎么计算

首先不管正负数还是整型或小数,直接计算就可以,但是要考虑数据是否溢出以及精度问题。
你的程序中小数有效位数需要十分注意;
float和double类型表示的大小和有效位数都不一样,
float,有效位数6 – 7,内存占用4;
double,有效位数15 – 16,内存占用8;
所以,直接定义double类型按表达式计算即可

不用管正负的,该怎么算就怎么算,机器都给你算好了,

额,我是从DS18B20读取的温度,我现在是需要将读取的温度用来计算,我有一公式,要用到,DS18B20的负温度是用补码形式表式的,我该怎么计算呢?

我的温度是从DS18B20读取的,读出来的温度值是补码形式的,如果是负温度,我该怎么转换成负温度

你把它转换成正常的温度值,然后弄成负值,计算可以吗

温度我已经是弄成正的浮点型的温度了,就是不知道怎么把他转成负温度

要啥来啥。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top