在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2311|回复: 3

[求助] 有符号数据计算问题求教

[复制链接]
发表于 2012-5-23 10:12:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
我想做一个32组16BIT 有符号数据累加的计算, 想请教一下结果需要多少位呢?
根据真OO无双的结论,我这结果需要47位,但我总觉得有些问题。请教下大侠问题出在哪里呢?
m bit + m bit => (m+1) bit m bit + n bit => (m+1) bit,其中n < m
  • m bit與n bit都必須先做signed extension到(m+1) bit才能相加
  • 若結果有到(m+2) bit則忽略之,實際的結果為(m+1) bit
发表于 2012-5-23 11:06:20 | 显示全部楼层
16个1‘b1相加只需要5bit表示结果。
32个15bit相加需要几位?(16bit有符号数只有15bit是有效数据)
外加一个符号位就是你结果的位数。
发表于 2012-5-23 14:04:32 | 显示全部楼层
相加跟有符号数和无符号数没有什么关系。32组16bit,两两相加,得16组17bit,再两两相加得8组18bit,推之,4组19bit,2组20bit,结果21bit。其实相同位数相加,需要的最大位宽=原始位数+N(其中2的N次>=相加得个数)
发表于 2012-5-23 15:03:18 | 显示全部楼层
楼上正解,考虑的是防止溢出需要的最大位数。公式是M=N+log2(n),M是最终需要的位数,N为相加的2进制数的位数,n为累加数据的个数。
但是如果是使用补码,如果最终结果不溢出,中间结果的溢出不会影响结果的正确性。也就是不用扩展位数。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-9-30 01:11 , Processed in 0.018508 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表