一.原码,反码,补码
1)为什么要出现反码?因为反码是为了得到补码而存在的(反码+1=补码)。
为什么要出现补码?因为是为了计算机CPU更好的使用二进制计算而存在的。
原码:将最高位做为符号位(0代表正,1代表负),其余各位代表数值本身的绝对值;
这里8位存储单元说明,8位二进制最多表示十进制的数 +127~-128
2)正数原码=正数反码=正数补码
3)负数的原码,反码,补码
首位符号位为1,反码其它位和原码取反(0变1,1变0)
负数 |
原码 |
反码 |
补码 |
-7 |
1000 0111 |
1111 1000 |
1111 1001 |
二.加减法
二进制加减法运算就是个位加个位,十位加十位,千位加千位...............
1)加法例子
8 + 6 = 14 |
|||
数字 |
原码 |
反码 |
补码 |
8 |
00001000 |
00001000 |
00001000 |
6 |
00000110 |
00000110 |
00000110 |
14 |
00001110 |
00001110 |
00001110 |
2)减法例子(减法就是补码相加而已)
8 – 6 = 2 |
|||
数字 |
原码 |
反码 |
补码 |
8 |
00001000 |
00001000 |
00001000 |
-6 |
10000110 |
11111001 |
11111010 |
2 |
00000010 |
00000010 |
00000010 |
补码相加:
8的补码 00001000
-6的补码 11111010
2的补码 00000010(应该是10000 0010的由于只能表示8位二进制就舍去溢出前面的那个1了)