⼆进制的四则运算
⼆进制的四则运算
⼆进制四则运算和⼗进制四则运算原理相同,所不同的是⼗进制有⼗个数码,“满⼗进⼀”,⼆进制只有两个数码0和1,“满⼆进⼀”。⼆进制运算⼝诀则更为简单。
1.加法
⼆进制加法,在同⼀数位上只有四种情况:
0+0=0,0+1=1,1+0=1,1+1=10。
只要按从低位到⾼位依次运算,“满⼆进⼀”,就能很容易地完成加法运算。
例1 ⼆进制加法
(1)10110+1101;
(2)1110+101011。
解加法算式和⼗进制加法⼀样,把右边第⼀位对齐,依次相应数位对齐,每个数位满⼆向上⼀位进⼀。
10110+1101=1000111110+101011=111001
通过计算不难验证,⼆进制加法也满⾜“交换律”,如101+1101=1101+101=10010。
多个数相加,先把前两个数相加,再把所得结果依次与下⼀个加数相加。
例2 ⼆进制加法
(1)101+1101+1110;
(2)101+(1101+1110)。
(1)101+1101+1110(2)101+(1101+1110)
=10010+1110=101+11011
=100000;=100000
从例2的计算结果可以看出⼆进制加法也满⾜“结合律”。
巩固练习⼆进制加法
(1)1001+11;
(2)1001+101101;
(3)(1101+110)+110;
(4)(10101+110)+1101。
2.减法
⼆进制减法也和⼗进制减法类似,先把数位对齐,同⼀数位不够减时,从⾼⼀位借位,“借⼀当⼆”。例3 ⼆进制减法
(1)11010-11110;
(2)10001-1011。
解(1)110101-11110=10111;
(2)10001-1011=110。
例4 ⼆进制加减混合运算
(1)110101+1101-11111;
(2)101101-11011+11011。
解(1)110101+1101-11111
=-11111
=100011
(2)101101-11011+11011
=10011+11011
=101101。
巩固练习⼆进制运算
(1)11010-1101;
(2)11001-111;
(3)110101-1111+101;
(4)1001+1110-10011。
3.乘法
⼆进制只有两个数码0和1,乘法⼝诀只有以下⼏条:0×0=0,0×1=0,1×0=0,1×1=1概括成⼝诀:零零得零,⼀零得零,⼀⼀得⼀。
⼆进制乘法算式和⼗进制写法也⼀样。
例5 ⼆进制乘法
(1)1001×101;
(2)11001×1010。
(1)1011×101=110111;(2)11001×1010=。
例6⼆进制运算
(1)101×1101;
(2)1101×101;
(3)(101+11)×1010;
(4)101×1010+11×1010。解(1)(2)
101×1101=;1101×101=;
(3)
(101+11)×1010=;
(4)
101×1010+11×1010=
从例6的计算结果可以看出,⼆进制乘法满⾜“交换律”;乘法对加法也满⾜“分配律”。对这⼀结论,⼤
家还可以进⾏多次验证。巩固练习⼆进制运算
(1)1011×1101;
(2)11101×1001;
(3)10101×(111+101);
(4)(11001-1111)×101
4.除法
除法是乘法的逆运算,⼆进制除法和⼗进制除法也⼀样,⽽且更简单,每⼀位商数不是0,就是1。
例7⼆进制除法
(1)÷1001;
(2)÷111。
解(1)(2)
÷1001=10010;÷111=10101。
例8求⼆进制除法的商数和余数
111010÷101
数学二进制的算法
111010÷101 所得商数是1011,余数是11。
巩固练习⼆进制除法
(1)÷101;
(2)1010110001÷1101;
(3)求商数和余数
÷1001
在⼆进制除法中,被除数,除数,商数和余数的关系和⼗进制除法的关系是相同的。被除数=除数×商数+余数。
如例8,111010=101×1011+11。
⼆进制的四则运算
⼆进制也可以进⾏四则运算,它的运算规则如下所⽰:
加运算0+0=0,0+1=1,1+0=1,1+1=10 逢2进1
减运算1-1=0,1-0=1,0-0=1,0-1=1(向⾼位借1当2)
乘运算0*0=0,0*1=0,1*0=0,1*1=1
除运算⼆进制只有两个数(0,1),因此它的商是1或0.
例1:求(1011101)B与(0010011)B之和例2:求(1101)B与(0101)B的乘积
通过例(1)我们再来介绍两个概念:半加和全加。
半加是最低位的加数和被加数相加时,不考虑低位向本位进位。
全加是加数和被加数相加时,我们还要考虑低位向本位的进位。
2.3 ⼆进制数的运算
⼆进制数的运算除了有四则运算外,还可以有逻辑运算。下⾯分别予以介绍。
2.3.1 ⼆进制数的四则运算
⼆进制数与⼗进制数⼀样,同样可以进⾏加、减、乘、除四则运算。其算法规则如下:
加运算:0+0=0,0+1=1,1+0=1,1+1=10,#逢2进1;
减运算:1-1=0,1-0=1,0-0=0,0-1=1,#向⾼位借1当2;
乘运算:0×0=0,0×1=0,1×0=0,1×1=1,#只有同时为“1”时结果才为“1”;
除运算:⼆进制数只有两个数(0,1),因此它的商是1或0。
1.加、减法运算⽰例
例如:求(1101)2+(1010)2之和;求(110000)2–(10111)2之差,这两个计算过程分别如图2-12的(a)/(b)所⽰。
图2-12 ⼆进制数加、减法计算⽰例
加法运算步骤
图2-12(a)所⽰的加法运算步骤如下:
(1)⾸先是最右数码位相加。这⾥加数和被加数的最后⼀位分别为“0”和“1”,根据加法原则可以知道,相加后
为“1”。
(2)再进⾏倒数第⼆位相加。这⾥加数和被加数的倒数第⼆位都为“1”,根据加法原则可以知道,相加后为“(10)2”,此时把后⾯的“0”留下,⽽把第⼀位的“1”向⾼⼀位进“1”。
(3)再进⾏倒数第三位相加。这⾥加数和被加数的倒数第⼆位都为“0”,根据加法原则可以知道,本来结果应为“0”,但倒数第⼆位已向这位进“1”了,相当于要加“被加数”、“加数”和“进位”这三个数的这个数码位,所以结果应为0+1=1。
(4)最后最⾼位相加。这⾥加数和被加数的最⾼位都为“1”,根据加法原则可以知道,相加后为“(10)2”。⼀位只能有⼀个数字,所以需要再向前进“1”,本⾝位留下“0”,这样该位相加后就得到“0”,⽽新的最⾼位为“1”。通过以上运算,可以得到(1101)2+(1010)2=10101。
减法运算步骤
对于图2-12(b)所⽰的减法运算,在此专门解释⼀下。图中的“借位”⾏中某些位上⽅有标有“1”,表⽰该位被借数。具体过程为从被减数的右边第⼀位开始减去减数,这与⼗进制数的减法运算⼀样。在本例中,最低为“0”,由于0减去1,“0”⽐“1”⼩,⽽需要向右数第⼆位借位,⽽这⾥的第⼆位也为“0”,不够借转,需要继续⽽向右数第三位,以此类推,最后从右数第五位借
得“1”。下⾯是具体的去处过程:
(1)⾸先最后⼀位向倒数第⼆位借“1”,相当于得到了(10)2,也就是相当于⼗进制数中的“2”,⽤2减去1得1。
(2)再计算倒数第⼆位,因为该位同样为“0”,不及减数“1”⼤,需要继续向倒数第三位借“1”(同样是借“1”当“2”),但因为它在上⼀步中已借给了最后⼀位“1”(此时是真实的“1”),则倒数第⼆位⽬前为1,与减数“1”相减后得到“0”。
(3)⽤同样的⽅法倒数第三位要向它们的上⼀位借“1”(同样是当“2”),但同样已向它的下⼀位(倒数第⼆位)借给“1”(此时也是真实的“1”),所以最终得值也为“0”。
(4)被减数的倒数第四位尽管与前⾯的⼏位⼀样,也为“0”,但它所对应的减数倒数第四位却为“0”,⽽不是前⾯⼏位中对应
的“1”,它向它的⾼位(倒数第五位)借“1”(相当于“2”)后,在借给了倒数第四位“1”(真实的“1”)后,仍有“1”余,1–0=1,所以该位结果为“1”。
(5)被减数的倒数第五位原来为“1”,但它借给了倒数第四位,所以最后为“0”,⽽此时减数的倒数第五位却为“1”,这样被减数需要继续向它的⾼位(倒数第六位)借“1”(相当于“2”),2–1=1。
(6)被减数的最后⼀位本来为“1”,可是借给倒数第五位后就为“0”了,⽽减数没有这个位,这样结果也就是被减数的相应位值⼤⼩,此处为“0”。
这样(110000)2–(10111)2最终的结果应该是:011001,最⾼位的“0”可以舍掉,就得到了11001这个结果。在⼆进制数的加、减法运算中⼀定要联系上⼗进制数的加、减法运算⽅法,其实它们的道理是⼀样的,也是⼀⼀对应的。在⼗进制数的加法