二进制的算术运算
# x1.无符号二进制算术运算
基本和十进制的运算类似,唯一的区别就是在于进位错位规则不同。
# 4.除法运算
除法运算只有两种:
0÷1=0
1÷1=1
因为0不能作除数。
# x2.带符号二进制算术运算
# 1.原码、反码、补码
- 原码即用最高位表示符号位,用0表示正数,用1表示负数;
- 反码正数和原码相同,负数是除符号位外,将其他低位全部取反;
- 补码正数和原码相同,负数满足的定义为N~补~=R^n^-N,实际上相当于反码+1。
计算机中的带符号数由补码存储。
范围:
由于-0和+0的原码和反码的表示不同,而补码的表示是相同的,所以,补码多了一个空闲标识,可以多表示一个负数。
所以4bits的情况下,它们分别表示的数值范围为:
不同码 | 数值范围 |
---|---|
原码 | $\small-(2^{n-1}-1)$ ~ $\small+(2^{n-1}-1)$ |
反码 | $\small-(2^{n-1}-1)$ ~ $\small+(2^{n-1}-1)$ |
补码 | $\small-2^{n-1}$ ~ $\small+(2^{n-1}-1)$ |
# 2.补码的减法运算
将减法转换为加法,即A-B=A+(-B),对(-B)求补码,然后进行加法运算即可。
# 3.溢出
溢出就是超出现有数值范围的运算,此时就会得到错误的结果,如:5+7=-4等。
判别方式如下: 相同的符号位相加,得到了不同的符号位。
解决溢出的方法: 进行位扩展。