我是一个Lua开发人员,但最近进入了学习C++的世界。简单的数学计算C++和Lua之间的差异
我注意到C++处理数学计算的方式略有不同。我想知道是否有一个正式的名称/解释为什么发生这种情况,如果有办法让它达到我的习惯。
在Lua中,代码如下:
local a = (4/3) * 3.1415 * (5 * 5 * 5)
print(a) // This returns 523.58333
在C++
int a;
a = (4/3) * 3.1415 * (5 * 5 * 5);
cout << a; // This returns 392
通知如何虽然方程的语法是完全一样的,答案是不同的。
谢谢:)
'4/3 == 1'因为整数除法,使用'4.0/3.0' – CoryKramer
我想他的意思是四舍五入到1 –
*我注意到C++处理数学计算的方式略有不同。* - 和Java,C和C#等等等等。他们都会做你所遇到的C++代码 - 整数除法。 – PaulMcKenzie