[STM32F1] 有些除法结果为零

[复制链接]
3179|52
rosemoore 发表于 2025-11-5 17:41 | 显示全部楼层
将结果赋值给float变量,整数除法的计算过程已经完成,结果 0 被转换为float的 0.0
Pretext 发表于 2025-11-5 21:11 | 显示全部楼层
因为最后一行符合逻辑和题目要求。
bestwell 发表于 2025-11-5 18:36 | 显示全部楼层
必须确保除法运算中的至少一个操作数是浮点数。
modesty3jonah 发表于 2025-11-5 19:33 | 显示全部楼层
当两个整数进行除法时,编译器优先执行整数运算,结果被截断为整数后再赋值给浮点变量。
wilhelmina2 发表于 2025-11-5 20:39 | 显示全部楼层
强制将浮点常量视为单精度              
cemaj 发表于 2025-11-5 21:38 | 显示全部楼层
test_float = (float)1 / 10;       // 结果: 0.1
test_float = (float)1 / 1000;      // 结果: 0.001
test_float = (float)1 / 10000000;  // 结果: 1e-7
ccook11 发表于 2025-11-5 22:27 | 显示全部楼层
结果会自动舍弃小数部分              
alvpeg 发表于 2025-11-6 21:03 | 显示全部楼层
强制进行浮点除法              
louliana 发表于 2025-11-6 21:58 | 显示全部楼层
强制类型转换              
jimmhu 发表于 2025-11-6 22:20 | 显示全部楼层
将整数常量改为浮点常量              
youtome 发表于 2025-11-7 09:06 | 显示全部楼层
只需将除法运算中的至少一个操作数改为浮点数
星闪动力 发表于 2025-11-22 15:19 | 显示全部楼层
整数除法就是当你用一个整数除以另一个整数时,结果只保留商的整数部分,小数部分直接舍去。
kkzz 发表于 2025-11-7 16:44 | 显示全部楼层
让其中一个操作数本身就是浮点变量
幸福小强 发表于 2025-11-7 16:48 | 显示全部楼层
有些除法结果为零 ,大概率是整数除法的截断效应,用浮点数常量就能强制触发浮点除法,避免结果被截断为0
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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