饱和运算

王朝百科·作者佚名  2010-04-04  
宽屏版  字体: |||超大  

所谓饱和运算,就是当运算结果大于一个上限或小于一个下限时,结果就等于上限或是下限。例如:BYTE运算,最大值是255,0xF1+0x35应该是等于0x26,但由于结果大于255,那么饱和运算的结果就是0xFF。在图像处理里经常有(比如说增加亮度)两种灰度值运算后要判断只是否大于255或小于0,根据结果再取255或0,又是if又是什么的。现在只要一条指令就OK了。

这几条指令分别是:

PADDS[B,W] 饱和有符号数加[byte, word]

PADDUS[B,W] 饱和无符号数加[byte, word]

PSUBS[B,W] 饱和有符号数减[byte, word]

PSUBUS[B,W] 饱和无符号数减[byte, word]

是不是很方便啊!(有符号数就是有正有负,一个BYTE就是-128~127;无符号数就是都是正的,一个BYTE就是0~255)

注:PADDS[B,W]的意思就是PADDSB和PADDSW的简写,以下都将这样写。

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝百科 版权所有