C ++:为什么这两个浮点数计算不同?

C ++中的数学问题。为什么下面两个给出不同的结果?我需要第二个结果与第一个相同。我在使用VS 2019的Windows 10 64位系统上。

  float mySampleRate = 44100.0f;

  int phase = 4294967296.0f / mySampleRate * 1046.5f; // Phase is 101920256

  float cycle = 1046.5f;
  int phase = 4294967296.0f / mySampleRate * cycle; // Phase is 101920480 
xsa591017 回答:C ++:为什么这两个浮点数计算不同?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3043808.html

大家都在问