认识原码、反码、补码
01 进制了解
-
二进制:由0和1共两个数字组成。
-
八进制:由0-7共八个数字组成。
-
十进制:由0-9共十个数字组成。
-
十六进制:由0-9与A-Z(a-z)共十六个字母和数字组成(字母不区分大小写,A-F/a-f分别代表10-15)
02 二进制与八进制对应关系
二进制 | 八进制 |
---|---|
0 | 000 |
1 | 001 |
2 | 010 |
3 | 011 |
4 | 100 |
5 | 101 |
6 | 110 |
7 | 111 |
03 二进制与十六进制转换
二进制 | 十六进制 |
---|---|
0 | 0000 |
1 | 0001 |
2 | 0010 |
3 | 0011 |
4 | 0100 |
5 | 0101 |
6 | 0110 |
7 | 0111 |
8 | 1000 |
9 | 1001 |
A | 1010 |
B | 1011 |
C | 1100 |
D | 1101 |
E | 1110 |
F | 1111 |
字母不区分大小写
04 原反补的概念
-
原码:二进制的表现形式
-
反码:是原码和补码之间的转换关系
-
补码:二进制的存储形式
05 原反补转换规律
- 如果是一个正数:原码 = 反码 = 补码
- 如果是一个负数:原码与反码之间互为取反加1
06 原反补的特点
- 原码第一位是符号位,用来表达正负
- 第一位是0,如000 … 001 表示数字为正1
- 第一位是1,如100 … 001 表示数字为负1
- 补码特点
- 正数高位都是0
- 负数高位都是1
- 反码特点 :二进制码0变1,1变0叫做反码
07 例1 两正相加
2 + 3
2 3
原码:000 ... 010 原码:000 ... 011
反码:000 ... 010 反码:000 ... 011
补码:000 ... 010 补码:000 ... 011
000 ... 010
000 ... 011
000 ... 101 => 5 (正数 原码 = 反码 = 补码)
08 例2 一正一负相加
-9 + 5
-9 5
原码:100 ... 1001 原码:000 ... 0101
反码:111 ... 0110 反码:000 ... 0101
补码:111 ... 0111 补码:000 ... 0101
111 ... 0111
000 ... 0101
111 ... 1100 (负数 原码 = 补码取反加一)
补码:111 ... 1100
反码:100 ... 0011
原码:100 ... 0100 => -4
09 例3 两负相加
-3 + (-2)
-3 -3
原码:100 ... 011 原码:100 ... 011
反码:111 ... 100 反码:111 ... 100
补码:111 ... 101 补码:111 ... 101
111 ... 101
111 ... 101
100 ... 010 (负数 原码 = 补码取反加一)
补码:100 ... 010
反码:111 ... 101
原码:111 ... 110 => -6