为什么程序换算和计算器的结果有点微小误差
我用C语言写了一个超级简单的换算程序,但是程序换算出来的结果和计算器的结果有微小的误差??是语言环境的问题,还是什么问题???有点懵逼了!!!代码如下!!!#include <stdio.h>
int main()
{
int n, b1, b2;
float f, shao;
printf("你要调制多少毫升的奶茶:");
scanf("%d", &n);
printf("输入调制比例(用空格隔开): ");
scanf("%d %d", &b1, &b2);
f = n/b2;
printf("\n需加入奶茶粉:%.3f克!", f);
shao = f / 5;
printf("\n一勺为5克,需要加入:%.3f勺!", shao);
return 0;
} {:10_266:}一脸懵逼!!!!!! 创业狂亏三千亿 发表于 2021-8-10 14:08
一脸懵逼!!!!!!
涉及到浮点小数的cpu内部处理流程
浮点数没有十分绝对的东东 这也是 浮点数不能用==来判断是否一致
只能是 看你需求保留几位小数 总量为 2500
料 : 水 = 1 : 7
料 = 总量 / 8 啊! f = n/b2;
f = (float)n/b2; 2个int相除2500/7结果取整,所以是357,然后转成float, 人造人 发表于 2021-8-10 14:38
f = n/b2;
f = (float)n/b2;
我加上(float)就好了,谢谢,{:5_109:} wp231957 发表于 2021-8-10 14:27
涉及到浮点小数的cpu内部处理流程
浮点数没有十分绝对的东东 这也是 浮点数不能用==来判断是否一致
...
谢谢回复,已经解决了,{:5_109:}
页:
[1]