首页 > 解决方案 > jeo=(1/(1+十年)); 没有给我准确的答案

问题描述

int decade;
float jeo;
PRINT("Enter Decade point =\r\n");
scanf("%d",&decade);
print_decimal(decade);
PRINT("\r\n");
jeo=(1/(1+decade));
PRINT("Decade point =");
print_decimal(jeo);//my function for showing floating point number.
PRINT("\r\n");

我已经在 ARM 控制器的 IAR 嵌入式工作台软件中编写了这段代码,但它没有给我准确的答案,谁能告诉我为什么?“当我输入 3 时,它给了我 0 答案”。

标签: cfloating-point

解决方案


您只是在进行计算,integer然后分配给一个float值。这将删除小数点后的数字。

尝试这个:

jeo=(1.0/(1.0+decade));

推荐阅读