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