我一直试图通过将变量存储到float和double来打印小数,但我没有得到所需的输出。我不了解这些数据类型?
以下是我的代码:
int main(){
double s = 0;
float r = 1 / 4;
cout << r << endl;
cout << pow((1 - s), 2) << endl;
cout << (2 + s) << endl;
cout << (1 / 4) * (pow((1 - s), 2)) * (2 + s) << endl;
return 0;
}
输出:
0
1
2
0
第一行应为0.25,最后一行应为0.5。
答案 0 :(得分:1)
你正在做整数数学。整数除以整数4将向下舍入为零。
您需要告诉编译器您的数字文字是浮点值。
float r = 1.0 / 4.0;
cout << r << endl;
cout << pow((1.0 - s), 2) << endl;
cout << (2.0 + s) << endl;
cout << (1.0 / 4.0) * (pow((1.0 - s), 2)) * (2.0 + s) << endl;