关于rint使用的问题

lak*_*ksh 1 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;
    }
Run Code Online (Sandbox Code Playgroud)

是什么意思 rint(i/db)?我不确定如何使用rint ...

Arm*_*yan 5

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

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

  • @larsmans:问题仅标记为C++.因此,它不是标准的. (2认同)