我有一个简单的数字除法。我有两个号码:
三十九点六五四
8.381903173E-8号
所以,如果我在C上做除法:

// ...
float ii = 39.654;
double bb = 8.381903173E-8;
printf("\n%.20f\n", ii/bb);
// ...

输出为:473090639.56200009584426879883
但是,如果我研究蟒蛇3:
39.654/8.381903173E-8

输出为:473090647.5719557
如果我用计算器的话,真的是Python3的值
我的C码怎么了?
谢谢!
当做!

最佳答案

你必须把苹果比作苹果在Python中,所有浮点变量的类型都是double,因此应该在C程序中使用相同的数据类型:

double ii = 39.654;
double bb = 8.381903173E-8;
printf("\n%.20f\n", ii/bb);

关于python - Python3和C不同的数学除法结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52044856/

10-11 21:14