相关疑难解决方法(0)

优化浮点除法和转换操​​作

我有以下公式

float mean = (r+b+g)/3/255.0f;
Run Code Online (Sandbox Code Playgroud)

我想加快速度.有以下先决条件

0<= mean <= 1  and 0 <= r,g,b <= 255 and r, g, b are unsigned chars
Run Code Online (Sandbox Code Playgroud)

因此,如果我尝试使用>> 8就像除以256的事实,我会使用类似的东西

float mean = (float)(((r+b+g)/3) >> 8);
Run Code Online (Sandbox Code Playgroud)

这将始终返回0.有没有办法跳过昂贵的浮动分区,最终仍然是0到1之间的平均值?

c c++ algorithm floating-point

3
推荐指数
3
解决办法
3113
查看次数

标签 统计

algorithm ×1

c ×1

c++ ×1

floating-point ×1