综合技术
登录
直播中
赵护林
8年用户
240经验值
私信
关注
[问答]
为什么负数乘小数输出的是正数?
开启该帖子的消息推送
float
输出
float i_buff,res;
int res1;
uint8_t cbuff[4];
buff=gather_i();
res1=(int)buff;
i_buff=(float)res1*0.00305176;
if(i_buff<2 && i_buff>0)
i_buff=0;
sys_var[1]=i_buff*10.0/1;
sys_var[1]为u16;
为什么输出的为正数
回帖
(6)
臧超楠
2019-11-4 09:02:34
单步跟踪看问题,很容易找到问题点
单步跟踪看问题,很容易找到问题点
举报
李正阳
2019-11-4 09:12:09
sys_var[1]为u16,就是说是无符号数据啦,当然是正数!
sys_var[1]为u16,就是说是无符号数据啦,当然是正数!
举报
陈玉英
2019-11-4 09:26:29
不好意思啊,没有表达清楚。
res1 是一个负数,它乘小数后变成一个正数,也就是i_buff成了正数,相当于把符号位也乘了。
sys_var[1]最高位成了0
不好意思啊,没有表达清楚。
res1 是一个负数,它乘小数后变成一个正数,也就是i_buff成了正数,相当于把符号位也乘了。
sys_var[1]最高位成了0
举报
张利
2019-11-4 09:33:45
怎么看出来i_buff成正数了?打印i_buff了?
怎么看出来i_buff成正数了?打印i_buff了?
举报
更多回帖
rotate(-90deg);
回复
相关问答
float
输出
滑动杆怎么让它从中间开始填充(零在中间),
负数
往左填充,整数往右填充 零在中间,,
负数
往左填充,
正数
往右填充
2023-06-12
4537
labview使用公式时出现
负数
2016-10-09
9000
labview串口数据怎么转换正
负数
据全是
小数
部分
2015-03-24
3790
小菜求高手解答
2016-01-16
3045
关于rom的问题
2014-05-23
4495
Labview 数组排序无法正常显示
正数
并排序问题
2018-01-14
2794
将一个long类型变量转化为十六进制数,要体现原码,补码的计算过程
2016-06-21
4254
关于FFT变换后的频谱显示
2013-07-25
2972
labview的数组拆分
2016-03-29
14267
Tx/Rx波特率=fpclkx/(16*USARTDIV),为啥要除16呢?在将
小数
部分转...
2014-04-22
11861
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分