我的机器是不是浮点运算有错误?
我在c++中的代码如下,大家看看我的机器是运算有错误还是我对代码的理解有错误?int main()
{
float abc;
abc=10/3;
abc=abc*10000;
cout<<abc<<endl;
//我在上面的程序的输出结果中看到
//abc的输出值是3000,为什么呢?
//abc是单精度的float数,结果应该
//是3333才对啊?帮忙解释一下。
return 0;
}
谢谢你,我的问题是解决了,可是为什么在整形的运算之后还是整形呢?
还有没有类似的规定?
谢谢你,我的问题是解决了,可是为什么在整形的运算之后还是整形呢?
还有没有类似的规定?
3/10这两个整型相除得到3,再将3赋值给double型的abc; 整形的运算之后还是整形,这当然了
3/10这两个整型相除得到3,再将3赋值给double型的abc;
所以你需要类型转换