怎么取出变量1,变量2中各个数?

[复制链接]
1825|13
 楼主| kangzj 发表于 2021-6-3 22:50 | 显示全部楼层 |阅读模式
单片机采样参考电压5V,转换值value是0-5v的一个数。
我需要的变量1=value×196.8;
              变量2=value×196.8×27
那么我该怎么取出变量1,变量2中各个数?

希望数能精确到小数点后两位
wenfen 发表于 2021-6-3 22:53 | 显示全部楼层
可以转成浮点数
songqian17 发表于 2021-6-3 22:58 | 显示全部楼层
或者采用long型变量,把乘数先*100,变成整数,显示时显示正确小数点位置就行了。
 楼主| kangzj 发表于 2021-6-3 22:59 | 显示全部楼层

我直接用变量1设为浮点型数据,即变量2=value
196.8×27出现了(超出范围)的结果,这是为何?
tian111 发表于 2021-6-3 23:04 | 显示全部楼层
是数据溢出,你的数据类型是啥
chenjunt 发表于 2021-6-3 23:06 | 显示全部楼层
必须考虑计算的最大数是否超出变量的最大值
renyaq 发表于 2021-6-3 23:08 | 显示全部楼层
unsigned int,应该不会溢出
wuhany 发表于 2021-6-3 23:11 | 显示全部楼层
value 的最大值多少?
yufe 发表于 2021-6-3 23:13 | 显示全部楼层
参考电压5v
zhuhuis 发表于 2021-6-3 23:15 | 显示全部楼层
value是ADC转换后的值?
houcs 发表于 2021-6-3 23:16 | 显示全部楼层
ADC是多少位的?
pangb 发表于 2021-6-3 23:18 | 显示全部楼层
你可以把变量2乘一下,早都超过65535好多了,明显数据溢出了
 楼主| kangzj 发表于 2021-6-3 23:20 | 显示全部楼层
其实还是不大明白,我再琢磨琢磨吧,多谢了哈先
CoolSilicon 发表于 2021-6-4 10:52 | 显示全部楼层
单片机算这么大的乘法, 效率感人啊.....
您需要登录后才可以回帖 登录 | 注册

本版积分规则

672

主题

7007

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部