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 两正相加
<code class="language-python">2 + 3 2 3 原码:000 ... 010 原码:000 ... 011 反码:000 ... 010 反码:000 ... 011 补码:000 ... 010 补码:000 ... 011 000 ... 010 000 ... 011 000 ... 101 => 5 (正数 原码 = 反码 = 补码) </code>
www#gaodaima.com来源gao@!dai!ma.com搞$$代^@码!网搞代码
08 例2 一正一负相加
<code class="language-python">-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 </code>
09 例3 两负相加
<code class="language-python">-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 </code>