我有一个简单的数字除法.我有这两个数字:
所以,如果我在C上进行划分:
// ...
float ii = 39.654;
double bb = 8.381903173E-8;
printf("\n%.20f\n", ii/bb);
// ...
Run Code Online (Sandbox Code Playgroud)
输出是: 473090639.56200009584426879883
但是,如果我在Python3上工作:
39.654/8.381903173E-8
Run Code Online (Sandbox Code Playgroud)
输出是: 473090647.5719557
实际上,如果我使用计算器,那么真正的值就是Python3
我的C代码有什么问题?
谢谢!问候!
你必须比较苹果和苹果.在Python中,所有浮点变量都是类型double,因此您应该在C程序中使用相同的数据类型:
double ii = 39.654;
double bb = 8.381903173E-8;
printf("\n%.20f\n", ii/bb);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
80 次 |
| 最近记录: |