二进制有符号乘法的结果最高位是不是扩展符号位?

2019-03-25 09:41发布

好像有一种说法认为二进制有符号乘法的结果最高位是扩展符号位,我们在实际工程中也往往将其删掉,但是我发现如果取当前位数能表示的最大负数,那么最高位就不是扩展符号位
假设是三位二进制有符号数,其结果是六位二进制数,如果乘数和被乘数都是-4(二进制表示为100),那么结果是16(010000),这样最高位就不是扩展符号位,如果截掉,结果就变为-16了
我想问的就是最高位是扩展符号位的这种说法是否正确,在工程应用中应该如何处理? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
eeleader
1楼-- · 2019-03-25 13:09
< /

你的理解可能有点偏差。

最高位时扩展符号位这是对的。但这个符号位不是你理解的一定与乘数或被乘数符号相同!

 

工程上应用:可以直接调用有符号乘法器IPCORE。也可以把有符号数转成无符号数相乘,然后符号位单独处理!

sharbioue
2楼-- · 2019-03-25 18:09
那么将扩展符号位截掉是否正确?
假如我用两个三位二进制有符号数相乘,调用有符号乘法器IPCORE,假设我是在做FFT的同址运算,那么我需要将运算结果截为三位,我是应该取乘法器输出的5-3位(从0位开始)还是4-2位?如果取4-2位的话,如果出现-4*-4的情况,那么结果是16(010000),截掉最高位,就变成了-16(10000),那么这样不就错了么?
eeleader
3楼-- · 2019-03-25 19:54
 精彩回答 2  元偷偷看……

一周热门 更多>