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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3831|回复: 2

求助:如何较精确地实现负数的右移位操作

[复制链接]
发表于 2007-10-10 09:36:45 | 显示全部楼层 |阅读模式

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

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

x
如 :-1用4bit补码表示为1111,-1右移2位之后应该为0,但是1111右移2位之后确还是-1,而且不管右移几位都还是-1
不知哪位能帮忙解答一下,多谢了!!
发表于 2007-10-14 15:00:39 | 显示全部楼层
I just present my ideas, any other opinion, Pls discuss.

First, you must know the format of your operator, just to say, the amount of the integer and the fraction. The 4bit 1111, we can reckon it whole as integer.

Second, you have to pay attention to saturation and return-to-zero. Left shifter need saturation and right shifter need return-2-zero.

Third, Symbol-bit do not join shifting.

Your 1111 should be zero after shifting, so just define it as 0000. Before shifting, you should judge if the operator would beyond zero or under under zero after shifting. If the expected result will be under threshold, just force it to a constant.

For example, 1100 is -4, to shift right for two bits, it should be 1111, -1.
发表于 2007-10-14 16:27:32 | 显示全部楼层
不要把这个问题想的太复杂,负数的移位中,对-1做一个专门的判断就行了。

[ 本帖最后由 waylight 于 2007-10-14 16:32 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-11-17 04:55 , Processed in 0.018197 second(s), 9 queries , Gzip On, Redis On.

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