现在的位置: 首页 > 综合 > 正文

饱和运算

2013年10月05日 ⁄ 综合 ⁄ 共 479字 ⁄ 字号 评论关闭

转自 http://baike.baidu.com/view/1547769.htm?fromTaglist

  所谓饱和运算,就是当运算结果大于一个上限或小于一个下限时,结果就等于上限或是下限。例如: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的简写,以下都将这样写。

抱歉!评论已关闭.