Skip to content

进位计数制与转换

考情分析

进制转换是数据表示章节的基础,选择题常考十进制与二进制/十六进制的互转,以及快速识别十六进制表示的能力。单独出大题少,更多作为其他题目(补码、浮点数)的铺垫。

进位计数制基础

基本概念

一个 R 进制数可以表示为按权展开的多项式:

N=i=()1ki×Ri

其中 ki 是第 i 位的数码,取值范围 0R1

常用进制对照

十进制二进制八进制十六进制
0000000
1000111
2001022
3001133
4010044
5010155
6011066
7011177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F

转换方法

R 进制 → 十进制:按权展开

将每一位数码乘以对应权值后求和。

例: (1101.01)2 转十进制

1×23+1×22+0×21+1×20+0×21+1×22=8+4+0+1+0+0.25=13.25

例: (2AF)16 转十进制

2×162+10×161+15×160=512+160+15=687

十进制 → R 进制

整数部分:除基取余,逆序排列

反复除以 R,每次取余数,直到商为 0,然后从下往上读余数。

例:(43)10 转二进制

43 ÷ 2 = 21 ... 余 1  ↑
21 ÷ 2 = 10 ... 余 1  ↑
10 ÷ 2 = 5  ... 余 0  ↑
 5 ÷ 2 = 2  ... 余 1  ↑
 2 ÷ 2 = 1  ... 余 0  ↑
 1 ÷ 2 = 0  ... 余 1  ↑

结果:(101011)2

小数部分:乘基取整,顺序排列

反复乘以 R,每次取整数部分,直到小数部分为 0 或达到所需精度,从上往下读整数位。

例:(0.625)10 转二进制

0.625 × 2 = 1.25  → 取 1  ↓
0.25  × 2 = 0.5   → 取 0  ↓
0.5   × 2 = 1.0   → 取 1  ↓

结果:(0.101)2

注意

十进制小数不一定能精确转换为二进制小数。例如 0.1 在二进制下是无限循环小数,这是浮点数精度误差的根本原因。

二进制 ↔ 八进制:三位一组

二进制转八进制:从小数点向两侧,每 3 位一组,不足补 0。

011301021015.11061004

(011010101.1101)2=(325.64)8(最后一组 100 对应 4

二进制 ↔ 十六进制:四位一组

从小数点向两侧,每 4 位一组,不足补 0。

1010A1111F.01004

(10101111.01)2=(AF.4)16

典型例题

例题 1(2019 年 408):(0.8125)10 转换为二进制小数。

0.8125 × 2 = 1.625  → 1
0.625  × 2 = 1.25   → 1
0.25   × 2 = 0.5    → 0
0.5    × 2 = 1.0    → 1

结果 (0.1101)2

例题 2:将十六进制数 (C5.A)16 转换为十进制。

12×161+5×160+10×161=192+5+0.625=197.625

例题 3:将二进制 (11111111)2 快速转为十六进制。

四位一组:11111111FF,即 (FF)16,等于十进制 255。

考点清单

  • [ ] 任意 R 进制数按权展开转十进制
  • [ ] 十进制整数转二进制(除 2 取余法)
  • [ ] 十进制小数转二进制(乘 2 取整法),注意不一定能精确表示
  • [ ] 二进制与八进制互转(3 位一组)
  • [ ] 二进制与十六进制互转(4 位一组)
  • [ ] 十六进制与十进制互转