二进制的加减法运算

大家好,本次讲述二进制的加减法运算,废话不多说开始吧!

首先了解原码、反码和补码。

原码:二进制本生的模样,改啥就是啥,如1101原码就是1101。

反码补码的由来:

0000  0001  0010  0011  0100  0101  0110  0111

1000  1001  1010  1011  1100  1101  1110  1111

由于计算机没有正负之分,所以将二进制分为一半0开头表示正数,1表示负数所以很多类型的取值范围中负数比正数多1。

0000(0) 0001(1) 0010(2) 0011(3) 0100(4) 0101(5) 0110(6) 0111(7)

1000(-8)1001(-7)1010(-6)1011(-5)1100(-4) 1101(-3)1110(-2)1111(-1)

1000          1111           1110          1101          1100         1011           1010         1001

为了计算负数所以有了补码(取反加1),所以有了反码补码的概念。又因为在一定范围正负有取值边界所以计算机中负数的边界值补码加1后得到的是0,正数的边界值加一是负数的最小值。

以下是反码补码的计算规则:

反码:二进制反码则是所有01取反通俗易懂,如1101反码是0010。

补码:重点来了,补码则是对取反的数加一就得到补码了,如1101的补码是0011。

为什么补码重要,重要在二进制的减法运算上,可以通过补码将减法变加法进行计算。

1101=1101=1101(这是正数的反码和补码)

1101=0010=0011(这是负数的反码和补码)

具体过程如下:

1001+0011(不带符号,9+3=12)

  1 0 0 1

+0 0 1 1

  1 1 0 0(12)


加法不多说,下面是减法:

1001-0011(不带符号,9-3=6)

 1 0 0 1

-0 0 1 1

 0 1 1 0(6)


0011-1001(不带符号,3-9=-6)

 0 0 1 1

-1 0 0 1

11 0 1 0(???这是几)


所以就得使用补码来计算

0011-1001=0011+(-1001)=0011(正数补码)+0111(负数补码)(不带符号,3-9=-6)

  0 0 1 1

+0 1 1 1

  1 0 1 0(由于是负数所以得补回去,即0110,可能不是很懂接下来看带符号的)


0011-1001=0011+(-1001)=00011(正数补码)+10111(负数补码)(带符号符号不取反,3-9=-6)

  0 0 0 1 1

+1 0 1 1 1

  1 1 0 1 0(由于是负数所以得补回去,即10110,怎么通过二进制判断正负就看符号位是不是1,1则负0则正)


再举个栗子吧

1101-0101=1101+(-0101)=01101+11011(带符号位,13-5=8)

   0 1 1 0 1

+ 1 1 0 1 1

0 1 0 0 0(由于符号位是0,即01000,借的就抛弃所以不管第一位的1了)

上述就是二进制的加减法,希望对你们有所帮助!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值