当前位置: 首页 > news >正文

计算机组成原理第二章 数据的表示和运算——2.1数制与编码

计算机组成原理第二章 数据的表示和运算——数制与编码

一、基本概念与核心知识点

1.1 数制系统基础

1.1.1 进位计数制
  • 定义:以固定基数(如2、8、10、16)表示数值的系统
  • 核心要素
    • 基数(R):允许的数码个数(如二进制R=2)
    • 位权:第i位的权值为R^i
  • 常见进制对照表
    十进制二进制八进制十六进制
    0000000
    1000111
    5010155
    91001119
    10101012A
1.1.2 数制转换方法
  • 整数转换
    • 除基取余法(十进制→其他进制)
      例:将十进制数25转换为二进制
      25 ÷ 2 = 121 → 最低位
      12 ÷ 2 = 60
      6  ÷ 2 = 30
      3  ÷ 2 = 11
      1  ÷ 2 = 01 → 最高位
      结果:11001B
      
    • 乘基取整法(十进制小数→其他进制)
  • 小数转换
    • 定点数转换:通过权值展开式计算
    • 浮点数转换:分离符号、阶码、尾数分别转换
1.1.3 常见进制特点
进制应用场景优势局限性
二进制计算机硬件、逻辑电路易于物理实现(高低电平)数值位数多,书写繁琐
八进制早期计算机系统、权限表示三位二进制对应一位八进制现代计算机已不常用
十六进内存地址、机器码表示四位二进制对应一位十六进制需要记忆16个符号

1.2 编码系统详解

1.2.1 BCD码(二-十进制编码)
  • 定义:用4位二进制数表示1位十进制数
  • 主要类型
    1. 8421码(有权码):
      • 权值:8 4 2 1
      • 示例:5 → 0101
    2. 余3码(无权码):
      • 8421码 + 0011
      • 特点:无单个0,适合BCD加减运算
    3. 2421码(有权码):
      • 权值:2 4 2 1
      • 特点:具有自补性(如5的2421码是1011)
1.2.2 字符编码
  • ASCII码
    • 7位编码,共128个字符
    • 格式:0010 0000(空格)→ 1111 1111(DEL)
  • Unicode编码
    • 统一编码方案,支持多语言
    • UTF-8编码规则:
      字符范围UTF-8编码格式
      1字节(ASCII)0xxxxxxx
      2字节110xxxxx 10xxxxxx
      3字节1110xxxx 10xxxxxx 10xxxxxx
1.2.3 校验码
  • 奇偶校验码
    • 增加1位校验位,使总1的个数为奇数(奇校验)或偶数(偶校验)
    • 检测能力:仅能检测奇数个位错误
  • 海明码
    • 校验位分布:第2^k位(k=0,1,2,…)
    • 校验方程组:
      S1 = P1 ⊕ D1 ⊕ D3 ⊕ D5 ⊕ D7
      S2 = P2 ⊕ D2 ⊕ D3 ⊕ D6 ⊕ D7
      S4 = P4 ⊕ D4 ⊕ D5 ⊕ D6 ⊕ D7
      
  • 循环冗余校验(CRC)
    • 生成多项式:如CRC-16的生成多项式为x¹⁶+x¹⁵+x²+1
    • 计算步骤:
      1. 在数据后补r个0(r为生成多项式次数)
      2. 进行模2除法
      3. 余数作为校验码

二、重点选择题解析

2.1 数制转换真题

真题1(2023年408统考)

题目:将十进制数-127转换为8位二进制补码,其表示为( )。
A. 10000001 B. 11111111 C. 10000000 D. 11111110

解析

  1. 原码:符号位1 + 绝对值原码 → 11111111
  2. 补码:原码除符号位外取反+1 → 10000001
  3. 答案:A
    易错点:忘记符号位固定为1,或补码转换时溢出处理错误。

真题2(2022年408统考)

题目:下列二进制数中最小的是( )。
A. 1010010B B. 00101000BCD C. 512O D. 235H

解析

  1. 转换为十进制:
    • A: 1010010B = 82
    • B: 00101000BCD = 28
    • C: 512O = 5×64 + 1×8 + 2×1 = 346
    • D: 235H = 2×256 + 3×16 + 5 = 565
  2. 答案:B
    易错点:混淆不同进制的转换方法,尤其是BCD码的特殊处理。

2.2 编码相关真题

真题3(2021年408统考)

题目:用海明码对8位数据(D7-D0)进行检/纠错,若能纠正一位错,则校验位至少需要( )位。
A. 2 B. 3 C. 4 D. 5

解析

  • 海明不等式:2ᵏ ≥ n + k + 1(n=8)
  • 解得k=4时,2⁴=16 ≥ 8+4+1=13
  • 答案:C
    易错点:误用不等式方向或计算错误。

真题4(2016年408统考)

题目:C语言中unsigned short x=65530;转换为unsigned int y=x;后,y的机器数为( )。
A. 00007FFAH B. 0000FFFAH C. FFFF7FFAH D. FFFFFFFAH

解析

  • 65530的十六进制:0xFFFA
  • 无符号数扩展:高位补0 → 0x0000FFFA
  • 答案:B
    易错点:混淆符号扩展与无符号扩展规则。

三、核心概念深度解析

3.1 补码的特殊性质

3.1.1 补码范围
  • n位补码:-2ⁿ⁻¹ ≤ x ≤ 2ⁿ⁻¹-1
  • 示例:8位补码范围是-128~+127
3.1.2 补码运算规则
  • 加法规则:[X+Y]补 = [X]补 + [Y]补 mod 2ⁿ
  • 减法规则:[X-Y]补 = [X]补 + [-Y]补 mod 2ⁿ
3.1.3 溢出判断
  • 单符号位法:符号位进位与最高数值位进位不同则溢出
  • 双符号位法:符号位不同则溢出(01正溢出,10负溢出)

3.2 BCD码的修正方法

修正类型修正条件修正操作
8421码和≥10加6(0110)
余3码和≥16减3(0011)
2421码(5以上)结果≥5加3(0011)

四、综合应用题解析

4.1 浮点数规格化问题

题目:将十进制数1999转换为IEEE 754单精度浮点数格式。
步骤

  1. 规格化:1999 = 1.999×2¹⁰
  2. 符号位S=0(正数)
  3. 阶码E=10+127=137 → 10001001B
  4. 尾数M=999×2²³(取23位)
  5. 最终表示:
    0 10001001 11111001100110011001101
    

五、易错点与高频考点

5.1 常见错误类型

错误类型典型示例正确做法
补码范围混淆认为8位补码最大为255最大+127,最小-128
BCD码修正错误8421码相加后未修正直接使用检查是否≥10后加6
海明码校验位计算错误校验位位置分配错误按2ᵏ规则分配校验位

5.2 高频考点总结

  1. 数制转换:重点掌握二进制与十六进制的快速转换技巧
  2. 补码运算:溢出判断与符号扩展规则
  3. BCD码应用:8421码与ASCII码的转换
  4. 校验码设计:海明码校验位计算与CRC多项式生成

六、附录:思维导图与示意图

6.1 数制与编码知识导图

数制与编码
进位计数制
编码系统
二进制
八进制
十六进制
BCD码
ASCII码
海明码
CRC校验

6.2 海明码结构示意图

数据位:D7 D6 D5 D4 D3 D2 D1 D0
校验位:P4 P3 P2 P1
排列方式:
P4 P3 D7 P2 D6 D5 D4 P1 D3 D2 D1 D0

  1. 各进制转换的详细算法推导
  2. BCD码在计算器电路中的实现
  3. CRC校验的硬件实现电路图
  4. 历年408真题完整解析(2009-2023)
    建议结合王道考研教材补充习题与案例分析。

相关文章:

  • 当智驾成标配,车企暗战升级|2025上海车展
  • 软件技术专业
  • 云服务器和独立服务器的区别在哪
  • 问答页面支持拖拽和复制粘贴文件,MaxKB企业级AI助手v1.10.6 LTS版本发布
  • 算能BM1684升级为BM1688: tpu_mlir转换模型_SDK更新_代码修改_问题排查_代码调试
  • 【MySQL】3分钟解决MySQL深度分页问题
  • 一种专用车辆智能配电模块的设计解析:技术革新与未来展望
  • C#并行编程极大提升集合处理速度,再也没人敢说你程序性能差了!
  • 【信息系统项目管理师】高分论文:论成本管理与采购管理(信用管理系统)
  • 高校学子走进万物纵横:体验边缘计算前沿技术,共探产业创新未来
  • 38 python random
  • 数据结构初阶:排序
  • 什么是可重入锁ReentrantLock?
  • day01_编程语言介绍丶Java语言概述丶开发环境搭建丶常用DOS命令
  • volatile缓存可见性实现原理
  • 解决Spring Boot多模块自动配置失效问题
  • 【MFC】 VS2022打开低版本的MFC,双击.rc文件,DIalog加载失败,页面弹窗fatal error RC***:cannot open*****
  • 使用 AI Agent 改善师生互动的设计文档
  • 探秘LLM推理模型:hidden states中藏着的self verification的“钥匙”
  • 串口通讯协议文档
  • 甘肃省原副省长赵金云被开除公职,甘肃省委表态:坚决拥护党中央决定
  • 政治局会议深度|提出“设立新型政策性金融工具”有何深意?
  • 两部门:推动“青年驿站”为毕业生跨地区求职提供住宿优惠便利
  • 《卿本著者》译后记等内容被指表述不当,江苏人民出版社:即日下架
  • 中国气象局:针对山西、广西、陕西启动抗旱四级应急响应
  • 郑庆华任同济大学党委书记