tags: [数电] type: note source_type: reconstructed created: 2026-08-15 updated: 2026-08-18
[!note] 对象层 学完这篇,你能判断:
- 十进制 ↔ 二进制 / 十六进制之间任意转换(含小数);
- 看一个 BCD 码(8421)能否一眼读出对应十进制数;
- 说出原码/反码/补码的区别,并用补码完成加减法;
- 区分"数制"(表达数值)与"码制"(编码信息)谁是谁。
用生活理解:十进制是我们的"日常语言",二进制是机器的"母语",十六进制是工程师的"速记符号"(4 位二进制合 1 位十六进制,缩写能力强)。补码则是把"减法"变成"加法"的巧计——就像"退 3 步"可以写成"前进 7 步再绕一圈"。
数制决定一个数怎么"进位";码制决定一个信息怎么"编码";带符号数的原反补三兄弟中,只有补码能让加减统一为加法、且 0 的表示唯一。
| 进制 | 基数 | 数码 | 进位规则 | 用途 |
|---|---|---|---|---|
| 十进制 | 10 | 0~9 | 逢十进一 | 日常 |
| 二进制 | 2 | 0,1 | 逢二进一 | 机器存储 |
| 八进制 | 8 | 0~7 | 逢八进一 | 历史遗留(Unix 权限) |
| 十六进制 | 16 | 0 |
逢十六进一 | 汇编/寄存器/地址 |
记忆:1 位十六进制 = 4 位二进制;1 位八进制 = 3 位二进制——这是分组转换法的基础。
| 转换 | 方法 | 例子 |
|---|---|---|
| 十进制 → 任意进制(整数) | 除基取余,倒序排列 | 25→二进制:25÷2=12余1,12÷2=6余0,6÷2=3余0,3÷2=1余1,1÷2=0余1 → 11001 |
| 十进制 → 任意进制(小数) | 乘基取整,正序排列 | 0.625→二进制:0.625×2=1.25取1,0.25×2=0.5取0,0.5×2=1.0取1 → 0.101 |
| 任意进制 → 十进制 | 按权展开求和 | 1011.1₂ = 8+0+2+1+0.5 = 11.5 |
| 二进制 ↔ 十六进制 | 以小数点为中心四位一组分组 | 11010110₂ → 1101 0110 → D6₁₆ |
| 二进制 ↔ 八进制 | 三位一组分组 | 11 010 110₂ → 326₈ |
| 码 | 类型 | 说明 |
|---|---|---|
| 8421 BCD | 有权码(8/4/2/1) | 每 4 位二进制表示 1 位十进制,0000 |
| 2421 BCD | 有权码(2/4/2/1) | 5 的补码对称:1000=4,1011=5 |
| 余 3 码 | 无权码 | 8421 码 +3,便于 BCD 加减运算 |
| 格雷码 | 无权码 | 相邻码仅 1 位变化,用于消除毛刺/编码器 |
| ASCII | 信息码 | 7 位编码 128 个字符 |
| 码 | 定义(以 n=4 位,-5 为例) | 特点 |
|---|---|---|
| 原码 | 符号位 + 绝对值(1101) | 直观但 0 有 +0/−0 两种表示 |
| 反码 | 正同原码;负=原码取反(1010) | 0 仍有 ±0 |
| 补码 | 正同原码;负=反码+1(1011) | 0 唯一(0000),减法转加法 |
核心规则:补码的补码 = 原码;n 位补码范围 −2ⁿ⁻¹ ~ +(2ⁿ⁻¹−1)。 例:−5 的补码:5=0101 → 取反 1010 → +1 = 1011 ✓
1010~1111 出现即非法(BCD 每 4 位只到 9)。| 易混点 A | 易混点 B | 关键区别 |
|---|---|---|
| 数制(二进制) | 码制(BCD) | 二进制是完整数值系统;BCD 只是十进制数的"4 位一编码",1010 在二进制合法、在 BCD 非法 |
| 原码 | 补码 | 原码有 ±0、减法要借位;补码 0 唯一、可统一加减 |
| 8421 BCD | 二进制 | 12 的 BCD 是 0001 0010(两位),二进制是 1100(一位数字表示 12) |
| 乘基取整 | 除基取余 | 前者给小数、正序读;后者给整数、倒序读 |
任意进制数按权展开:(aₙ₋₁aₙ₋₂…a₀.a₋₁…a₋ₘ)ᵣ = Σ aᵢrⁱ,r 为基数,aᵢ 为 0~(r−1) 的数码。
对 n 位模 M=2ⁿ 系统,负数 x 表示为 M+x(模运算)。例 4 位:−3 = 16−3 = 13 = 1101₂ 的补码表示。因此 x−y = x+(M−y),减法变成加法,且进位自然溢出丢弃。
补码加法溢出 ≠ 进位丢失。判据:符号位进位 C₁ 与最高数值位进位 C₂ 异或为 1 则溢出。 例:4 位 7+1:0111+0001=1000 → 结果符号为负(−8),C₁=0, C₂=1 → 溢出 ✓。
n 位格雷码 = n−1 位格雷码先正序补 0、再逆序补 1。应用:旋转编码器、异步时钟域跨域。
二进制不止能表达数字——现实中的信息都能"数字化",统一变成 0 和 1 位模式存储。
| 信息 | 数字化方法 | 关键指标 | 例子 |
|---|---|---|---|
| 文字 | 查字符编码表 | ASCII 7 位/字符 | 内存中程序与数据都是位模式(0/1) |
| 图片 | 像素化 + 像素数字化 | 分辨率、位深 | 800×600 = 480000 像素;RGB 三原色每色 1 字节(0~255,8 位深) |
| 声音 | 采样 + 量化 | 采样率、位深 | 采样率 44100/48000Hz;位深 16/24bit |
| 视频 | 连续图片+声音 + 有损压缩 | 帧率、压缩标准 | H.264/H.265/AV1;约 25 帧/秒,利用视觉残留 |
关键概念:
- 分辨率 = 图片横纵切分的份数(越高越清晰);
- 位深 = 每个采样/颜色用多少位表示(8 位深 0
255,16 位深 065535,位深越大越不易出"色阶/阶梯");- 二值图像最简单:5×5 图用 1 白 0 黑直接写成 25 个位;
- 视频若"耿直地"把图片拼起来体积会非常大,所以用有损压缩(H.264/H.265/AV1)。
与本课联系:这正是"码制"的扩展——计算机只认识 0/1,一切模拟信息(文字/图像/声音/视频)都先经"编码"再存储运算,也是 [[08-AD与DA转换|数电 08]] 采样-量化思想的同源概念。
来源:阎石《数字电子技术基础》第 1 章(数制和码制);尚硅谷《从零搭建计算机》第 1.2 节(数字化)