我目前正在尝试找到不会让某个值超过某个特定值(在这种情况下为0x1000(4096))的解决方案。这是一个简单的解决方案,但是这里的关键是速度。

int someVal = rand();
for(int i = 0; i < 10000; i++)
{
    if(someVal > 0x1000)
        someVal = 0x1000;
    cout << someVal;
    someVal = rand();
}


这太慢了,除非当然没有其他方法可以这样做。谢谢您的帮助,Hetelek。

最佳答案

可以尝试一下;

floatValue = floor(floatValue * 0x1000 + 0.5)/0x1000;

07-24 16:38