软件设计师精讲 数据的表示 进制转换

来自姬鸿昌的知识库
Jihongchang讨论 | 贡献2024年3月12日 (二) 14:30的版本 →‎短除法
跳到导航 跳到搜索

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转换为二进制数。