jianke 发表于 2009-3-28 15:24

关于两个补码相乘的问题请教大家!加急.......

我在Quartus II 7.2 中用乘法(*)对两个16位的二进制补码数进行相乘,理论上说相乘的结果为32位,由于位数太长,要截取为16位,有两个问题求教大家。
1、两个16位补码相乘的结果一定为32位吗?不足32位的要在前面补“零”?这样我截取(31~16)会不会影响数值啊?
2、两个16位补码相乘有几个符号位呢?如果有两个,是不是可以省略掉最高一个符号位?
这样截取16位就是(30~15),对不对呢?

注:一个数定义为1个符号位+3个整数位+12个小数位(大于1的一个数),
    一个定义为1个符号位+15个小数位(这是一个小于

jianke 发表于 2009-3-28 17:46

大家有知道的吗?给点意见啊!
页: [1]
查看完整版本: 关于两个补码相乘的问题请教大家!加急.......