我有一个简单的数字除法。我有这两个号码:
- 39.654
- 8.381903173E-8
所以,如果我对 C 进行除法:
// ...
float ii = 39.654;
double bb = 8.381903173E-8;
printf("\n%.20f\n", ii/bb);
// ...
输出为:473090639.56200009584426879883
但是,如果我使用 Python3:
39.654/8.381903173E-8
输出为:473090647.5719557
如果我用计算器,确实,真正的值(value)是Python3
我的 C 代码有什么问题?
谢谢! 问候!
最佳答案
您必须将苹果与苹果进行比较。在 Python 中,所有浮点变量都是 double
类型,因此您应该在 C 程序中使用相同的数据类型:
double ii = 39.654;
double bb = 8.381903173E-8;
printf("\n%.20f\n", ii/bb);
关于Python3和C不同的数学除法结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52044856/