C++ 中的除法
Division in C++
我是 C++ 的新手,我尝试了这个简单的代码:
#include<iostream>
#include<math.h>
using namespace std;
int main(){
double a;
a=1/6;
cout<<a;
}
但结果是 0。据我了解,double 应该使用实数,所以结果不应该是 1/6 或 0.1666666 吗?谢谢!
在表达式1 / 6
中,两个数字都是整数。这意味着此除法将执行整数除法,结果为 0
。要进行 double
除法,一个数字必须是双精度数:例如 1.0 / 6
。
整数文字 1
和 6
的类型为 int
。因此在表达式
1/6
使用整数运算结果为0
至少使用一个操作数作为浮动文字。例如
a = 1.0/6;
或
a = 1/6.0;
或
a = 1.0/6.0;
我是 C++ 的新手,我尝试了这个简单的代码:
#include<iostream>
#include<math.h>
using namespace std;
int main(){
double a;
a=1/6;
cout<<a;
}
但结果是 0。据我了解,double 应该使用实数,所以结果不应该是 1/6 或 0.1666666 吗?谢谢!
在表达式1 / 6
中,两个数字都是整数。这意味着此除法将执行整数除法,结果为 0
。要进行 double
除法,一个数字必须是双精度数:例如 1.0 / 6
。
整数文字 1
和 6
的类型为 int
。因此在表达式
1/6
使用整数运算结果为0
至少使用一个操作数作为浮动文字。例如
a = 1.0/6;
或
a = 1/6.0;
或
a = 1.0/6.0;