【发布时间】:2016-04-23 15:50:54
【问题描述】:
过去两天我一直在做一个简短的项目,但现在一切都崩溃了, 因为有一个方程在 C++/C# 程序中计算时返回 8.660254 但为 0当您尝试用手或计算器计算时。
方程:
float mgr1 = (x + tr * 0.5f - tr / 2) * 1.73205f * 10.0f;
就我而言:
x = 0;
tr = 1;
float mgr1 = (0 + 1 * 0.5f - 1 / 2) * 1.73205f * 10.0f;
正确的结果是0,但是当用C++计算时,像这样,它返回8.660254?我疯了吗?关于 C++ 有什么我不知道的吗?这是什么?
【问题讨论】:
-
1/2 上的整数除法为您提供 0。将其更改为 1.0/2,您将获得预期的结果...大约正确。
标签: c# c++ c++11 numbers equation