关于rint使用的问题

时间:2011-07-21 14:23:44

标签: c++

for(i = 0; i < 181; i++)
    {
       unsigned int index = rint(i/db);
        assert(index >= 0 && index < data.ranges_count);
      this->laser_ranges[i*2][0] = data.ranges[index] * 1e3;
    }

rint(i/db)的含义是什么?我不确定如何使用rint ......

3 个答案:

答案 0 :(得分:5)

rint是一个将浮点数舍入为整数的函数。这是一个非标准的功能。如果db是整数类型,则i/db将截断为整数,代码将无法按预期工作。否则,rint(i/db)i/db舍入为最接近的整数。

至于 为什么 这里需要舍入(截断的内容)在很大程度上取决于我们完全不知道的问题的背景。

答案 1 :(得分:2)

这是一个名为rint的函数调用,只有一个参数,在这种情况下是i除以db

答案 2 :(得分:0)

rint向最近的整数舍入并进行一些错误检查。

这里真正发生的事情取决于idb的类型。