TI中文支持网
TI专业的中文技术问题搜集分享网站

DSP指令——有符号32位饱和为无符号8位

hi,everyone:

我做优化时候,需要将一个有符号的32位  int 类型的数,做一个饱和操作,变成一个

无符号的8位的数。具体代码如下:

int  var;

if(var>255)  var = 255;    //大于255 就置为255

else if(var < 0) var = 0;  //小于0 就置为0

else   var = var;           // 0- 255 之间就保持不变

请问,有没有专门指令操作的,或者有比较快的方法?

Best Regards!

Louis:

有没有办法确认你的var的值的范围?

Armstrong:

回复 Louis:

Louis

我的一个思路,一次计算4个值

如: int A,B,C,D,AB,ABCD

AB = _spack2(A,B);

CD = _spack2(C,D);

ABCD = _spacku4(AB, CD);

这样ABCD的四个字节就是分别你需要的四个值,用upack命令解包即可。

赞(0)
未经允许不得转载:TI中文支持网 » DSP指令——有符号32位饱和为无符号8位
分享到: 更多 (0)