“软件设计师精讲 数据的表示 进制转换”的版本间的差异
Jihongchang(讨论 | 贡献) (→进制转换) |
Jihongchang(讨论 | 贡献) (→进制转换) |
||
第216行: | 第216行: | ||
二进制转八进制与十六进制数。 | 二进制转八进制与十六进制数。 | ||
− | + | 八进制对应数码:0、1、2、3、4、5、6、7 | |
{| class="wikitable" | {| class="wikitable" | ||
|+八进制对应数码 | |+八进制对应数码 | ||
第250行: | 第250行: | ||
!6 | !6 | ||
|} | |} | ||
+ | 十六进制对应数码:0、1、2、3、4、5、6、7、8、9、A(10)、B(11)、C(12)、D(13)、E(14)、F(15) |
2024年3月12日 (二) 14:58的版本
https://www.bilibili.com/video/BV13U4y1E7oA/?p=3
数据的表示
考点1:进制转换
考点2:码制(原码/反码/补码/移码)
考点3:浮点数的表示
考点4:逻辑运算
https://www.bilibili.com/video/BV13U4y1E7oA/?p=4
考点1:进制转换
进制 | 数码 | 基数 | 位权 |
---|---|---|---|
十进制(D) | 0,1,2,3,4,5,6,7,8,9 | 10 | 10k |
二进制(B) | 0,1 | 2 | 2k |
十六进制(H) | 0~9,A,B,C,D,E,F | 16 | 16k |
10 | A |
11 | B |
12 | C |
13 | D |
14 | E |
15 | F |
按权展开法
R进制转十进制使用按权展开法,其具体操作方式为:将R进制的每一位数值用Rk形式表示,即幂的底数是R,指数为k,k与该位和小数点之间的距离有关。
当该位位于小数点左边,k值是该位和小数点之间数码的个数,而当该位位于小数点右边,k值是负值,其绝对值是该位和小数点之间数码的个数加1。
例如二进制10100.01=1×24+1×22+1×2-2
例如七进制604.01=6×72+4×70+1×7-2
短除法
十进制转R进制使用短除法(除基取余法)。
例如将94转换为二进制数。
2|94 | 余 | 0 |
2|47 | 1 | |
2|23 | 1 | |
2|11 | 1 | |
2|5 | 1 | |
2|2 | 0 | |
2|1 | 1 | |
0 |
得到结果为 1011110
除以基数,取余数作为结果,除到商为0截止。
二进制的基数是2,所以:
94除以基数2,商47,余0;
47除以2,商23,余1;
23除以2,商11,余1;
11除以2,商5,余1;
5除以2,商2,余1;
2除以2,商1,余0;
1除以2,商0,余1。
余数从下往上记录
94转换为十六进制:
94除以基数16,商5,余14;
14除以基数16,商0,余14;
在十六进制中,十进制的14对应十六进制的E;
所以94(D)=5E(H)
按权展开进行验证,5×161+14×160=5×16+14×1=80+14=94。
减法
十进制转二进制使用减法。例如将94转换为二进制数。
20=1
21=2
22=4
23=8
24=16
25=32
26=64
27=128
28=256
29=512
210=1024
小于且离94最近的乘幂为64
94-64=30(26=64) |
小于且离30最近的乘幂为16
30-16=14(24=16) |
小于且离14最近的乘幂为8
14-8=6(23=8) |
小于且离6最近的乘幂为4
6-4=2(22=4) |
小于且离2最近的乘幂为2
2-2=0(21=2) 结束 |
位号 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
取值 | 1 | 0 | 1 | 1 | 1 | 1 | 0 |
得到结果为 1011110
进制转换
二进制转八进制与十六进制数。
八进制对应数码:0、1、2、3、4、5、6、7
八进制 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|---|---|
二进制 | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
二进制转八进制,按3位一组进行转换,不足3位在左侧补0。
10 | 001 | 110 |
---|---|---|
2 | 1 | 6 |
十六进制对应数码:0、1、2、3、4、5、6、7、8、9、A(10)、B(11)、C(12)、D(13)、E(14)、F(15)