mafan88的个人空间 https://blog.eetop.cn/162539 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

带符号数的加减法

已有 2020 次阅读| 2011-7-28 11:12 |个人分类:学习

1、符号数与无符号数的人为规定性:
一个数,是有符号数还是无符号数都是人为规定的。进行二进制运算时用无符号数或是补码运算时,结果都是正确的。
10000100+00001110=无符号数即 132+14=146(d)
若规定为符号数则为-124+14=-110而[-110]补=10010010
2、补码加减法运算
  计算机中,当确定为符号数运算时,符号数一律用补码表示,运算时符号位和数字位一起参加运算。同样,运算结果也用补码表示。
1)两符号数相加公式X+Y:
[X+Y]补=[X]补+[Y]补
2)两符号数相减公式X-Y:
[X-Y]补=[X]补+[-Y]补
3)溢出及符号数的扩展
溢出:当两个正数相加或两个负数相加运算结果超过了补码所能表示的数值范围称为溢出。以标志OF(溢出标志位)表示是否溢出。
不溢出(OF=0),说明运算结果正确。
溢出(OF=1),说明运算结果错误。
判断方法:
  • 异号数相加或同号数相减不会溢出(OF=0)。
  • 同号数相加或异号数相减时有可能发生溢出。

OF=AnBnSn+AnBnSn  OF:代表溢出;An、Bn分别代表两个加数符号位,Sn代表结果的符号位。

解决办法:增加符号数的位数,一般采用字节(8位)的倍数,即8位、16位、24位等。正数的补码,其扩展粒数全部加0,原为负数的补码,其扩展的位数全部加1。


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 6

    粉丝
  • 0

    好友
  • 15

    获赞
  • 6

    评论
  • 105786

    访问数
关闭

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

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

GMT+8, 2024-5-8 08:12 , Processed in 0.024745 second(s), 14 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部