level 1
累加器A里的值为1110 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx,可知冗余的符号位数为2,那么用NORM指令后,A里的值左移-6位,变成了0000 0011 10xx xxxx xxxx xxxx xxxx xxxx xxxx xxxx,可这不就变成正数了?而且书上给出的例子又没有先设置符号位扩展。
2015年05月18日 07点05分
1
level 7
21ic电子技术论坛中的DSP论坛有很多专业性的大牛,可以咨询一下
2015年05月19日 06点05分
3
level 1
或者这么说,如果按Q15定义一个负的浮点数,然后左移16位后加载至A累加器。在没有设置符号扩展的情况下,A累加器的保护位应该都为零。那么显然这时候对A里的浮点数进行规格化,就会出错。可我的书里给出的恰恰就是这样的例子。我不知道我到底哪里想错了。
2015年05月19日 11点05分
4
level 1
书上给的程序是先把两个定点数转成浮点数,接着才设置符号位扩展,然后算两个浮点数相乘,再把结果用NORM指令转成定点数。因为两个定点数一个是正数,一个是负数,所以乘积为负数。设置符号位扩展显然是为了乘积结果的正确性。但前面的哪一个负的定点数转浮点数可没设置符号位扩展啊。
2015年05月19日 13点05分
5