|
发表于 2012-8-28 00:26:25
|
显示全部楼层
本帖最后由 night_cool 于 2012-8-28 00:31 编辑
1、无符号数和有符号数相加,结果肯定是有符号数
2、相加后的有符号数的位宽为,两个相加数的最大位宽+2, ...
jun_dahai 发表于 2012-8-27 11:30
1. 有符号数和无符号数相加,结果为什么肯定是有符号数?请问您是怎么确定的呢?
2. “有符号数不包括符号位”?那还叫有符号数?8位的有符号数代表的范围为-128~+127。8位的无符号数代表的范围是0~+255,都是代表256个数,为什么有符号数就不包括符号位呢?那么有符号数和它的符号位一起我们应该如何称呼?-----------------------
always @(*)
if(B[7]) //negative
sum = {2'b00, A} + {2'b11, B}
else //positive
sum = {2'b00, A} + {2'b00, B}
既然8位有符号数不包括符号位,那么为什么要用B[7]位来判断B是否为负数呢?如果B[7]是符号位,那么结果只用9位就可以了,不用10位,因为9位已经可以表示-128~+382了。
如有异议,欢迎讨论。 |
|