二进制数的加、减、乘、除四则运算,在数字系统中是经常遇到的,它们的运算规则与十进制数很相似。加法运算是最基本的一种运算,利用它的运算规则可以实现其它三种运算。例如,减法运算可以借助改变减数的符号再与被减数相加,乘法运算可视为被乘数的连加,而除法则可视为被除数重复地减去除数。
1.二进制加法
二进制加法运算的规则可简单描述如下:
1 | |||||
被加数 | 0 | 0 | 1 | 1 | 1 |
加 数 | + 0 | + 1 | + 0 | + 1 | + 1 |
和 | 0 | 1 | 1 | 10 | 11 |
2.二进制减法
这里先介绍无符号数的减法,其规则如下:
借 入 | ||||
被 减数 | 0 | 1 | 1 | 10 |
减 数 | – 0 | – 0 | – 1 | – 1 |
差 | 0 | 1 | 0 | 1 |
3.二进制乘法
二进制乘法与十进制乘法相同,下面列出了四条规则:
0×0=0 | 0×1=0 |
1×0=0 | 1×1=1 |
4.二进制除法
二进制除法与十进制除法相同。
5.用带符号位的二进制数实现减法运算
(1)带符号位的二进制数
一个二进制数既可表示为正数,也可表示为负数,其方法是在二进制数之前加一符号位。通常用0表示正数,而用1表示负数,其余数位表示数的大小,例如, +5=0101,-5=1101。
(2)补码的概念
补码是负数的一种表示方法。现以人们熟悉的十进制数为例来说明补码的概念。
常规减法运算 | 以10为模的减法运算 | |
87 | 87 | 87 |
– 24 | – 24 = | + 76 |
63 | 163 |
可见,将减数24变为以10为模(称为模10)的补码为+76,然后相加并丢弃进位数,其结果相同。模10的补码是这样求得的,模数10减1作为底数9,然后将减数的每一位数码从底数9中减去得到相应的数码,然后加1便得到补码。在上例中99-24+1=75+1=76。
(3)二进制的模2补码及减法运算
与模10的补码相类似,当二进制形成模2的补码时,模数2减1作为底数1,然后将减数的每一位从底减去,得到相应的位的数码,然后加1,便得到补码。例如,011的模2补码为101。实际上,一种简便的方法是将二进制数码中的0变为1、1变为0,再加1即可得到模2的补码。
常规的减法运算 | 模2补码的减法运算 | ||
被 减数 | 7 | 0111 | 0111 |
减 数 | – 3 | – 0011= | + 1101 |
差 | 4 | 100 | 10100 |
丢弃进位 |
由上可知,模2补码的减法运算与常规运算的结果一致。在此例中还需注意到在运算中,符号参加运算。 , 二进制数的加、减、乘、除四则运算,在数字系统中是经常遇到的,它们的运算规则与十进制数很相似。加法运算是最基本的一种运算,利用它的运算规则可以实现其它三种运算。例如,减法运算可以借助改变减数的符号再与被减数相加,乘法运算可视为被乘数的连加,而除法则可视为被除数重复地减去除数。
1.二进制加法
二进制加法运算的规则可简单描述如下:
1 | |||||
被加数 | 0 | 0 | 1 | 1 | 1 |
加 数 | + 0 | + 1 | + 0 | + 1 | + 1 |
和 | 0 | 1 | 1 | 10 | 11 |
2.二进制减法
这里先介绍无符号数的减法,其规则如下:
借 入 | ||||
被 减数 | 0 | 1 | 1 | 10 |
减 数 | – 0 | – 0 | – 1 | – 1 |
差 | 0 | 1 | 0 | 1 |
3.二进制乘法
二进制乘法与十进制乘法相同,下面列出了四条规则:
0×0=0 | 0×1=0 |
1×0=0 | 1×1=1 |
4.二进制除法
二进制除法与十进制除法相同。
5.用带符号位的二进制数实现减法运算
(1)带符号位的二进制数
一个二进制数既可表示为正数,也可表示为负数,其方法是在二进制数之前加一符号位。通常用0表示正数,而用1表示负数,其余数位表示数的大小,例如, +5=0101,-5=1101。
(2)补码的概念
补码是负数的一种表示方法。现以人们熟悉的十进制数为例来说明补码的概念。
常规减法运算 | 以10为模的减法运算 | |
87 | 87 | 87 |
– 24 | – 24 = | + 76 |
63 | 163 |
可见,将减数24变为以10为模(称为模10)的补码为+76,然后相加并丢弃进位数,其结果相同。模10的补码是这样求得的,模数10减1作为底数9,然后将减数的每一位数码从底数9中减去得到相应的数码,然后加1便得到补码。在上例中99-24+1=75+1=76。
(3)二进制的模2补码及减法运算
与模10的补码相类似,当二进制形成模2的补码时,模数2减1作为底数1,然后将减数的每一位从底减去,得到相应的位的数码,然后加1,便得到补码。例如,011的模2补码为101。实际上,一种简便的方法是将二进制数码中的0变为1、1变为0,再加1即可得到模2的补码。
常规的减法运算 | 模2补码的减法运算 | ||
被 减数 | 7 | 0111 | 0111 |
减 数 | – 3 | – 0011= | + 1101 |
差 | 4 | 100 | 10100 |
丢弃进位 |
由上可知,模2补码的减法运算与常规运算的结果一致。在此例中还需注意到在运算中,符号参加运算。