2.数据的表示和运算
2.1进位制
🔺问题:计算机采用二进制有什么优点?
答:
1.制造两个稳态的物理器件较容易。
2.二进制的运算规则简单。
3.便于用逻辑门电路实现运算。
4.二进制的0和1正好对应逻辑值真和假。
🔺问题:在进位制中后缀B、O、D、H分别表示什么?前缀0x表示什么?
答:
后缀B表示二进制、O表示八进制、D表示十进制、H表示十六进制。
前缀0x表示十六进制。
进制之间的转换,在这里主要分为4类:
1.其他进制转十进制。
2.二进制转八进制和十六进制。
3.八进制和十六进制转二进制。
4.十进制转其他进制。
其他进制转十进制如下:
🔺问题:将二进制101.1转化为十进制?
答:
(101.1)2 = 1 * 2^2 + 0 * 2^1 + 1 * 2^0 + 1 * 2^-1 = 5.5
🔺问题:将八进制5.4转化为十进制?
答:
(5.4)8 = 5 * 8^0 + 4 * 8^-1 = 5.5
🔺问题:将十六进制5.8转化为十进制?
答:
(5.8)16 = 5 * 16^0 + 8 * 16^-1 = 5.5
二进制转八进制和十六进制如下:
🔺问题:将二进制1111000010.01101转化为八进制?
答:
(1111000010.01101)2
001 | 111 | 010 | 000 | . | 011 | 010 |
---|---|---|---|---|---|---|
1 | 0 | 7 | 0 | . | 3 | 2 |
3位为1组,不够就补。
🔺问题:将二进制1111000010.01101转化为十六进制?
答:
(1111000010.01101)2
0011 | 1100 | 0010 | . | 0110 | 1000 |
---|---|---|---|---|---|
3 | C | 2 | . | 6 | 8 |
4位为1组,不够就补。
八进制和十六进制转二进制如下:
🔺问题:将八进制251.5转化为二进制?
答:
(251.5)8
2 | 5 | 1 | . | 5 |
---|---|---|---|---|
010 | 101 | 001 | . | 101 |
🔺问题:将十六进制AE86.1转化为二进制?
答:
(AE86.1)16
A | E | 8 | . | 6 |
---|---|---|---|---|
1010 | 1110 | 1000 | . | 0001 |
十进制转其他进制如下:
🔺问题:将十进制123.6875转化为二进制?
答:
(123.6875)10
64 | 32 | 16 | 8 | 4 | 2 | 1 | . | 0.5 | 0.25 | 0.125 | 0.0625 |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | 1 | 1 | 1 | 0 | 1 | 1 | . | 1 | 0 | 1 | 0 |
十进制转换为其他进制主要有两种方法:
1.常规方法:
对于整数部分,除基取余法。
对于小数部分,乘基取整法。
2.拼凑法(个人推荐)
先将十进制转化为二进制,再转化为需要求的进位制。
🔺问题:是不是每个二进制小数都能准确的用十进制表示?是不是每个十进制小数都能准确的用二进制表示?
答:
每个二进制小数都能准确的用十进制表示,但是不是每个十进制小数都能准确的用二进制表示。
例如十进制0.3用二进制表示,乘二取整,取不到准确结果。
🔺问题:定点整数,小数点在机器内部怎么表示?
答:
在机器内部并没有小数点,人为约定了小数点的位置,默认隐含,小数点不需要占用一位的存储位。