我有一个简单的数字除法。我有两个数字:
所以,如果我对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
如果我使用计算器,的确是Python3的真实值
我的C代码怎么了?
谢谢! 问候!
答案 0 :(得分:9)
您必须将苹果与苹果进行比较。在Python中,所有浮点变量的类型均为double
,因此您应在C程序中使用相同的数据类型:
double ii = 39.654;
double bb = 8.381903173E-8;
printf("\n%.20f\n", ii/bb);