“软件设计师精讲 数据的表示 进制转换”的版本间的差异
Jihongchang(讨论 | 贡献) (→减法) |
Jihongchang(讨论 | 贡献) (→减法) |
||
第190行: | 第190行: | ||
结束 | 结束 | ||
+ | |} | ||
+ | {| class="wikitable" | ||
+ | |+ | ||
+ | |位号 | ||
+ | |6 | ||
+ | |5 | ||
+ | |4 | ||
+ | |3 | ||
+ | |2 | ||
+ | |1 | ||
+ | |0 | ||
+ | |- | ||
+ | |取值 | ||
+ | |1 | ||
+ | |0 | ||
+ | |1 | ||
+ | |1 | ||
+ | |1 | ||
+ | |1 | ||
+ | |0 | ||
|} | |} |
2024年3月12日 (二) 14:46的版本
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(21=2) |
小于且离2最近的乘幂为2
2-2=0(21=2) 结束 |
位号 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
取值 | 1 | 0 | 1 | 1 | 1 | 1 | 0 |