计算机组成原理

计算机组成原理01–二进制的加减法计算

必备知识

原码、反码、补码、符号位、最末位、溢出

原码:以二进制形式表示的所有的数

反码:
1.正数的反码等于正数的原码
2.负数的反码等于负数的原码取反【符号位不变】

补码:
1.正数的补码等于正数的原码
2.负数的补码等于负数的反码基础上最末位加1

符号位:最高位

最末位:最低位

溢出:计算的结果位数比参与运算的位数多,多出来的位数舍去

加法与减法

加法类型:
1.正数+正数=正数
2.负数+负数=负数【溢出】
3.正数+负数=正数【溢出】
4.正数+负数=负数

减法类型:
5.正数-正数=正数
6.正数-正数=负数
7.负数-负数=正数【溢出】
8.负数-负数=负数
9.正数-负数=正数

运算分析

1.以原码表示数字,以补码参与运算
2.最后的补码结果要转换为原码表示
3.加减法互逆,减法就是加法的变式
4.负号负号得正号,正号正号得正号
5.1+1=10,0+0=0,1+0=1,0+1=1
6.一正数减一负数等于一正数加上一负数的相反数
7.一负数减一负数等于一负数加上另一负数的相反数

举例

3
原码:0000,0011
反码:0000,0011
补码:0000,0011
-3
原码:1000,0011
反码:1111,1100
补码:1111,1101

2
原码:0000,0010
反码:0000,0010
补码:0000,0010
-2
原码:1000,0010
反码:1111,1101
补码:1111,1110

1
原码:0000,0001
反码:0000,0001
补码:0000,0001
-1
原码:1000,0001
反码:1111,1110
补码:1111,1111

1.正数+正数=正数

例一:1+2=3
1【补码】:0000,0001
2【补码】:0000,0010
3【补码】:0000,0011
3【补码】0000,0011–>3【反码】0000,0011–>3【原码】0000,0011

2.负数+负数=负数【溢出】

例二:(-1)+(-2)=(-3)
-1【补码】:1111,1111
-2【补码】:1111,1110
-3【补码】:1,1111,1101
-3【补码】最高位的1为溢出位所以舍去,故-3【补码】:1111,1101
-3【补码】1111,1101–>-3[反码]1111,1100–>-3[原码]1000,0011

3.正数+负数=正数【溢出】

例三:2+(-1)=1
2 【补码】:0000,0010
-1【补码】:1111,1111
1 【补码】:1,0000,0001
1【补码】最高位的1为溢出位所以舍去,故1【补码】:0000,0001
1【补码】0000,0001->1【反码】0000,0001->1【原码】0000,0001

4.正数+负数=负数

例四:1+(-2)=(-1)
1 【补码】:0000,0001
-2【补码】:1111,1110
-1【补码】:1111,1111
-1【补码】1111,1111–>-1[反码]1111,1110–>-1[原码]1000,0001

5.正数-正数=正数【溢出】

例五:2-1=1<==>2+(-1)=1
2【补码】:0000,0010
-1【补码】:1111,1111
1【补码】:1,0000,0001
1【补码】最高位的1为溢出位所以舍去,故1【补码】:0000,0001
1【补码】0000,0001->1【反码】0000,0001->1【原码】0000,0001

6.正数-正数=负数

例六:1-2=-1<==>1+(-2)=(-1)
1 【补码】:0000,0001
-2【补码】:1111,1110
-1【补码】:1111,1111
-1【补码】1111,1111–>-1[反码]1111,1110–>-1[原码]1000,0001

7.负数-负数=正数【溢出】

例七:(-1)-(-2)=1<==>(-1)+2=1
-1【补码】:1111,1111
2 【补码】:0000,0010
1 【补码】:1,0000,0001
1【补码】最高位的1为溢出位所以舍去,故1【补码】:0000,0001
1【补码】0000,0001->1【反码】0000,0001->1【原码】0000,0001

8.负数-负数=负数

例八:(-2)-(-1)=(-1)<==>(-2)+1=(-1)
-2【补码】:1111,1110
1 【补码】:0000,0001
-1【补码】:1111,1111
-1【补码】1111,1111–>-1[反码]1111,1110–>-1[原码]1000,0001

9.正数-负数=正数

例九:2-(-1)=3<==>2+1=3
2【补码】:0000,0010
1【补码】:0000,0001
3【补码】:0000,0011
3【补码】0000,0011->3【反码】0000,0011->3【原码】0000,0011

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

过往已是曾经

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值