首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

IF语句优化解决方法

2012-01-18 
IF语句优化像下面的IF语句,大家都知道放在循环语句中将会非常耗时,我想请问各位有没有办法可以不用IF语句

IF语句优化
像下面的IF语句,大家都知道放在循环语句中将会非常耗时,我想请问各位有没有办法可以不用IF语句来达到同样的效果?!

这样可以吗?:BYTE(R)   ???

if   (R <0)   R=0;
else   if   (R> 255)   R=255;
if   (G <0)   G=0;
else   if   (G> 255)   G=255;
if   (B <0)   B=0;
else   if   (B> 255)   B=255;

[解决办法]
R = R <0? 0: (R> 255 ? 255:R)
G = G> 255? 255:G
B = B <0? 0: (B> 255 ? 255:B)
用三元表达式就能解决.
[解决办法]
某些CPU可以进行优化

如果实在是需要优化(估计是为了避免最大效率的利用CPU流水线)

可以先不对RGB进行取值范围矫正,直到最后显示出去的时候再矫正
[解决办法]
你的R、G、B值是在哪获取的?数据类型定义是单字还是双字?

这段代码本身没法再优化。根据实际情况,可在其他地方优化。如,在获取R/G/B的同时做判断。

热点排行