“软件设计师精讲 数据的表示 进制转换”的版本间的差异
| Jihongchang(讨论 | 贡献)  (→进制转换) | Jihongchang(讨论 | 贡献)  小 (Jihongchang移动页面软件设计师精讲 数据的表示至软件设计师精讲 数据的表示 进制转换,不留重定向) | ||
| (未显示同一用户的7个中间版本) | |||
| 第216行: | 第216行: | ||
| 二进制转八进制与十六进制数。 | 二进制转八进制与十六进制数。 | ||
| − | + | 八进制对应数码:0、1、2、3、4、5、6、7 | |
| {| class="wikitable" | {| class="wikitable" | ||
| − | |+ | + | |+八进制对应二进制 | 
| !八进制 | !八进制 | ||
| !0 | !0 | ||
| 第230行: | 第230行: | ||
| |- | |- | ||
| |二进制 | |二进制 | ||
| − | | | + | |000 | 
| − | | | + | |001 | 
| − | | | + | |010 | 
| − | | | + | |011 | 
| |100 | |100 | ||
| |101 | |101 | ||
| |110 | |110 | ||
| |111 | |111 | ||
| + | |} | ||
| + | '''<big>二进制转八进制,按3位一组进行转换,不足3位在左侧补0。</big>''' | ||
| + | |||
| + | |||
| + | 10001110(B)转八进制: | ||
| + | {| class="wikitable" | ||
| + | |+ | ||
| + | !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) | ||
| + | {| class="wikitable" | ||
| + | |+十六进制对应二进制 | ||
| + | !十六进制 | ||
| + | !0 | ||
| + | !1 | ||
| + | !2 | ||
| + | !3 | ||
| + | !4 | ||
| + | !5 | ||
| + | !6 | ||
| + | !7 | ||
| + | !8 | ||
| + | !9 | ||
| + | !A(10) | ||
| + | !B(11) | ||
| + | !C(12) | ||
| + | !D(13) | ||
| + | !E(14) | ||
| + | !F(15) | ||
| + | |- | ||
| + | |二进制 | ||
| + | |0000 | ||
| + | |0001 | ||
| + | |0010 | ||
| + | |0011 | ||
| + | |0100 | ||
| + | |0101 | ||
| + | |0110 | ||
| + | |0111 | ||
| + | |1000 | ||
| + | |1001 | ||
| + | |1010 | ||
| + | |1011 | ||
| + | |1100 | ||
| + | |1101 | ||
| + | |1110 | ||
| + | |1111 | ||
| + | |} | ||
| + | '''<big>二进制转八进制,按 4 位一组进行转换,不足 4 位在左侧补0。</big>''' | ||
| + | |||
| + | |||
| + | 10001110(B)转十六进制: | ||
| + | {| class="wikitable" | ||
| + | |+ | ||
| + | !1000 | ||
| + | !1110 | ||
| + | |- | ||
| + | |8 | ||
| + | |E | ||
| |} | |} | ||
2024年3月12日 (二) 15:09的最新版本
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。
10001110(B)转八进制:
| 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)
| 十六进制 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A(10) | B(11) | C(12) | D(13) | E(14) | F(15) | 
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 二进制 | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 | 
二进制转八进制,按 4 位一组进行转换,不足 4 位在左侧补0。
10001110(B)转十六进制:
| 1000 | 1110 | 
|---|---|
| 8 | E |