计算机组成原理第二章 数据的表示和运算——2.1数制与编码
计算机组成原理第二章 数据的表示和运算——数制与编码
一、基本概念与核心知识点
1.1 数制系统基础
1.1.1 进位计数制
- 定义:以固定基数(如2、8、10、16)表示数值的系统
- 核心要素:
- 基数(R):允许的数码个数(如二进制R=2)
- 位权:第i位的权值为R^i
- 常见进制对照表:
十进制 二进制 八进制 十六进制 0 0000 0 0 1 0001 1 1 5 0101 5 5 9 1001 11 9 10 1010 12 A
1.1.2 数制转换方法
- 整数转换:
- 除基取余法(十进制→其他进制)
例:将十进制数25转换为二进制 25 ÷ 2 = 12 余 1 → 最低位 12 ÷ 2 = 6 余 0 6 ÷ 2 = 3 余 0 3 ÷ 2 = 1 余 1 1 ÷ 2 = 0 余 1 → 最高位 结果:11001B
- 乘基取整法(十进制小数→其他进制)
- 除基取余法(十进制→其他进制)
- 小数转换:
- 定点数转换:通过权值展开式计算
- 浮点数转换:分离符号、阶码、尾数分别转换
1.1.3 常见进制特点
进制 | 应用场景 | 优势 | 局限性 |
---|---|---|---|
二进制 | 计算机硬件、逻辑电路 | 易于物理实现(高低电平) | 数值位数多,书写繁琐 |
八进制 | 早期计算机系统、权限表示 | 三位二进制对应一位八进制 | 现代计算机已不常用 |
十六进 | 内存地址、机器码表示 | 四位二进制对应一位十六进制 | 需要记忆16个符号 |
1.2 编码系统详解
1.2.1 BCD码(二-十进制编码)
- 定义:用4位二进制数表示1位十进制数
- 主要类型:
- 8421码(有权码):
- 权值:8 4 2 1
- 示例:5 → 0101
- 余3码(无权码):
- 8421码 + 0011
- 特点:无单个0,适合BCD加减运算
- 2421码(有权码):
- 权值:2 4 2 1
- 特点:具有自补性(如5的2421码是1011)
- 8421码(有权码):
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
- 计算步骤:
- 在数据后补r个0(r为生成多项式次数)
- 进行模2除法
- 余数作为校验码
二、重点选择题解析
2.1 数制转换真题
真题1(2023年408统考)
题目:将十进制数-127转换为8位二进制补码,其表示为( )。
A. 10000001 B. 11111111 C. 10000000 D. 11111110
解析:
- 原码:符号位1 + 绝对值原码 →
11111111
- 补码:原码除符号位外取反+1 →
10000001
- 答案:A
易错点:忘记符号位固定为1,或补码转换时溢出处理错误。
真题2(2022年408统考)
题目:下列二进制数中最小的是( )。
A. 1010010B B. 00101000BCD C. 512O D. 235H
解析:
- 转换为十进制:
- A: 1010010B = 82
- B: 00101000BCD = 28
- C: 512O = 5×64 + 1×8 + 2×1 = 346
- D: 235H = 2×256 + 3×16 + 5 = 565
- 答案: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单精度浮点数格式。
步骤:
- 规格化:1999 = 1.999×2¹⁰
- 符号位S=0(正数)
- 阶码E=10+127=137 → 10001001B
- 尾数M=999×2²³(取23位)
- 最终表示:
0 10001001 11111001100110011001101
五、易错点与高频考点
5.1 常见错误类型
错误类型 | 典型示例 | 正确做法 |
---|---|---|
补码范围混淆 | 认为8位补码最大为255 | 最大+127,最小-128 |
BCD码修正错误 | 8421码相加后未修正直接使用 | 检查是否≥10后加6 |
海明码校验位计算错误 | 校验位位置分配错误 | 按2ᵏ规则分配校验位 |
5.2 高频考点总结
- 数制转换:重点掌握二进制与十六进制的快速转换技巧
- 补码运算:溢出判断与符号扩展规则
- BCD码应用:8421码与ASCII码的转换
- 校验码设计:海明码校验位计算与CRC多项式生成
六、附录:思维导图与示意图
6.1 数制与编码知识导图
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
- 各进制转换的详细算法推导
- BCD码在计算器电路中的实现
- CRC校验的硬件实现电路图
- 历年408真题完整解析(2009-2023)
建议结合王道考研教材补充习题与案例分析。
相关文章:
计算机组成原理第二章 数据的表示和运算——2.1数制与编码
计算机组成原理第二章 数据的表示和运算——数制与编码 一、基本概念与核心知识点 1.1 数制系统基础 1.1.1 进位计数制 定义:以固定基数(如2、8、10、16)表示数值的系统核心要素: 基数(R):允…...
基于归纳共形预测的大型视觉-语言模型中预测集的**数据驱动校准**
摘要 本研究通过分离共形预测(SCP)框架,解决了大型视觉语言模型(LVLMs)在视觉问答(VQA)任务中幻觉缓解的关键挑战。虽然LVLMs在多模态推理方面表现出色,但它们的输出常常表现出具有…...
Golang | 自行实现并发安全的Map
核心思路,读写map之前加锁!哈希思路,大map化分为很多个小map...
【Python数据库编程实战】从SQL到ORM的完整指南
目录 前言技术背景与价值当前技术痛点解决方案概述目标读者说明 一、技术原理剖析核心概念图解核心作用讲解关键技术模块说明技术选型对比 二、实战演示环境配置要求核心代码实现案例1:SQLite基础操作案例2:MySQL连接池案例3:SQLAlchemy ORM …...
深入剖析扣子智能体的工作流与实战案例
前面我们已经初步带大家体验过扣子工作流,工作流程是 Coze 最为强大的功能之一,它如同扣子中蕴含的奇妙魔法工具,赋予我们的机器人处理极其复杂问题逻辑的能力。 这篇文章会带你更加深入地去理解并运用工作流解决实际问题 目录 一、工作流…...
【计算机网络】IP地址
IPv4 五类地址 1.0.0.0 ~ 126.255.255.255A类子网8位,主机24位128.0.0.0 ~ 191.255.255.255B类子网16位,主机16位192.0.0.0 ~ 223.255.255.255C类子网24位,主机8位224.0.0.0 ~ 239.255.255.255D类不分网络地址和主机地址,作为组播…...
基于CATIA参数化管道建模的自动化插件开发实践——NX建模之管道命令的参考与移植
引言 在机械设计领域,CATIA作为行业领先的CAD软件,其强大的参数化建模能力备受青睐。本文介绍如何利用Python的PySide6框架与CATIA二次开发技术,开发一款智能管状体生成工具。该工具借鉴了同类工业软件NX的建模的管道命令,通过Py…...
运维之SSD硬盘(SSD hard Drive for Operation and Maintenance)
背景 SSD的产生背景是计算技术发展和市场需求驱动的结果。早期计算机使用磁芯存储器,后来被半导体存储器取代,提高了速度和可靠性。随着电子设备小型化,对轻便、低功耗存储器的需求增长,SSD因无机械部件、速度快、耗电少而受到关…...
基于javaweb的SSM+Maven红酒朔源管理系统设计与实现(源码+文档+部署讲解)
技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文…...
HTML 地理定位(Geolocation)教程
HTML 地理定位(Geolocation)教程 简介 HTML5 的 Geolocation API 允许网页应用获取用户的地理位置信息。这个功能可用于提供基于位置的服务,如导航、本地搜索、天气预报等。本教程将详细介绍如何在网页中实现地理定位功能。 工作原理 浏览器可以通过多种方式确定…...
RHEL与CentOS:从同源到分流的开源操作系统演进
RHEL与CentOS:从同源到分流的开源操作系统演进 一、核心关系:源代码的重构与社区化 RHEL(Red Hat Enterprise Linux)与CentOS(Community ENTerprise Operating System)的关系可以概括为“同源异构”。RHE…...
架构师面试(三十六):广播消息
题目 在像 IM、短视频、游戏等实时在线类的业务系统中,一般会有【广播消息】业务,这类业务具有瞬时高流量的特点。 在对【广播消息】业务实现时通常需要同时写 “系统消息库” 和更新用户的 “联系人库” 的操作,用户的联系人表中会有未读数…...
Spine 动画教程:皮肤制作
一、前言 搁了很久的抖音直播小玩法开发,最近又让我想起来了。由于是初次尝试,所以我将开发费用的预算降到为零。不但不买服务器采用 UnitySDK 的指令直推,而且游戏的资产也用 AI 生成,主打省时又省钱。 但是图片有了࿰…...
Rust 学习笔记:函数和控制流
Rust 学习笔记:函数和控制流 Rust 学习笔记:函数和控制流函数(Function)语句和表达式带返回值的函数注释控制流if 表达式使用 else if 处理多个条件在 let 语句中使用 if循环loop从循环中返回值循环标签消除多个循环之间的歧义带 …...
探秘LLM推理模型:hidden states中藏着的self verification的“钥匙”
推理模型在数学和逻辑推理等任务中表现出色,但常出现过度推理的情况。本文研究发现,推理模型的隐藏状态编码了答案正确性信息,利用这一信息可提升推理效率。想知道具体如何实现吗?快来一起来了解吧! 论文标题 Reasoni…...
《Learning Langchain》阅读笔记8-RAG(4)在vector store中存储embbdings
什么是 vector store? 与专门用于存储结构化数据(如 JSON 文档或符合关系型数据库模式的数据)的传统数据库不同,vector stores处理的是非结构化数据,包括文本和图像。像传统数据库一样,vector stores也能执…...
【C/C++】深入理解指针(五)
文章目录 深入理解指针(五)1.回调函数是什么?2.qsort使用举例2.1 使用qsort函数排序整型数据强调 2.2 使用qsort排序结构数据 3.qsort函数的模拟实现 深入理解指针(五) 1.回调函数是什么? 回调函数就是⼀个通过函数指针调⽤的函数。 如果你把函数的指…...
【vue】【element-plus】 el-date-picker使用cell-class-name进行标记,type=year不生效解决方法
typedete,自定义cell-class-name打标记效果如下: 相关代码: <el-date-pickerv-model"date":clearable"false":editable"false":cell-class-name"cellClassName"type"date"format&quo…...
RocketMQ 主题与队列的协同作用解析(既然队列存储在不同的集群中,那要主题有什么用呢?)---管理命令、配置安装
学习之前呢需要会使用linux的基础命令 一.RocketMQ 主题与队列的协同作用解析 在 RocketMQ 中,主题(Topic)与队列(Queue)的协同设计实现了消息系统的逻辑抽象与物理存储分离。虽然队列实际存储在不同集群的 B…...
解决视频处理中的 HEVC 解码错误:Could not find ref with POC xxx【已解决】
问题描述 今天在使用 Python 处理视频时遇到了以下错误: [hevc 0x7f8a1d02b7c0] Could not find ref with POC 33之前没接触过视频处理,查了一下,这个错误通常发生在处理 HEVC(H.265)编码 的视频时,原因…...
NEGATIVE LABEL GUIDED OOD DETECTION WITH PRETRAINED VISION-LANGUAGE MODELS
1. 介绍: 这篇论文也是基于CLIP通过后处理的方法实现的OOD的检测,但是设计点在于,之前的方法是使用的ID的类别,这篇工作是通过添加一些在语义上非常不同于ID的类别的外分布类来做的OOD检测。 CLIP做OOD检测的这个系列里面我看的以及记录的第一篇就是MCM的方法,这也是确实是…...
Appium自动化 -- 环境安装
1.安装Appium-Python-Clientpip install Appium-Python-Client 2.AndroidSdk安装和环境配置 AndroidSdk下载地址:https://www.androiddevtools.cn/# 下载后解压 SDK Manager.exe 安装sdk tools、sdk plaform-tools、sdk build-tools AndroidSDK 环境变量配…...
Zeppelin在spark环境导出dataframe
1.Zeppelin无法直接访问本地路径 如果zeppelin无法直接访问本地路径,可先将dataframe写到s3,在通过读取s3路径下载文件 %pyspark # 示例:用 PySpark 处理数据 df spark.createDataFrame([(1, "Alice"), (2, "Bob")], …...
Vue3 上传后的文件智能预览(实战体会)
目录 前言1. Demo12. Demo2 前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 爬虫神器,无代码爬取,就来:bright.cn 此处的基本知识涉及较少,主要以Demo的形式供大…...
面试常问问题:Java基础篇
一、面向对象编程(OOP) 四大特性 封装、继承、多态、抽象的具体实现与区别? 抽象类与接口的区别?何时选择抽象类或接口? 重写(Override)和重载(Overload)的规则与区别&…...
测试流程?
需求分析 组织需求评审会议,邀请开发团队和测试团队参与。产品经理详细讲解需求,确保开发和测试人员对需求理解一致。 测试计划 分配测试人员:根据项目需求和测试人员的技能,分配测试任务和范围。确定测试策略:包括测…...
Python命名参数的使用
Python脚本传递参数的方式有: 使用sys.argv按照先后的顺序传入对应的参数使用argparse包加载和解析传递的命名参数 下面代码是第2中使用的实例: parser argparse.ArgumentParser(description参数使用说明) parser.add_argument(--time, -t, typestr,…...
赛灵思 XCKU115-2FLVB2104I Xilinx Kintex UltraScale FPGA
XCKU115-2FLVB2104I 是 AMD Xilinx Kintex UltraScale FPGA,基于 20 nm 先进工艺,提供高达 1 451 100 个逻辑单元(Logic Cells),77 721 600 bit 的片上 RAM 资源,以及 5 520 个 DSP 切片(DSP48E…...
使用 Python 项目管理工具 uv 快速创建 MCP 服务(Cherry Studio、Trae 添加 MCP 服务)
文章目录 下载Traeuv 工具教程参考我的这篇文章创建 uv 项目main.pyCherry Studio 添加 MCP 服务DeepSeek API配置 DeepSeek API调用 MCP 服务 Trae 添加 MCP 服务添加 MCP创建智能体 使用智能体调用 MCP 创建 demo 表查询 demo 表结构信息demo 表插入 2 条测试数据查询 demo 表…...
Docker容器持久化
引言 Docker 容器作为一种轻量级、可移植的虚拟化技术,广泛应用于开发、测试和生产环境中。然而,容器天生是短暂的,意味着它们在生命周期结束后会被销毁,而其中的数据也会随之丢失。为了确保容器中的数据能够持久化,我…...
【信息系统项目管理师】高分论文:论成本管理与采购管理(信用管理系统)
更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 论文1、规划成本管理2、成本估算3、成本预算4、成本控制论文 2019年1月,我作为项目经理参与了 XX基金管理有限公司信用管理系统项目。该项目成 本1000万,建设期为1年。通过该项目,XX基金管理有限公司在信用…...
WINDOWS 下Maven 安装及配置教程
Maven 安装及配置教程(Windows)【安装】_windows 安装maven-CSDN博客...
Pycharm(十六)面向对象进阶
一、继承 概述: 实际开发中,我们发现很多类中的步分内容是相似的,或者相同的,每次写很麻烦,针对这种情况, 我们可以把这些相似(相同的)部分抽取出来,单独地放到1个类中&…...
实时数据驱动未来:谷云科技CDC实时数据集成平台新版本发布
数据流动的“零延迟时代”已来 在数字化转型的浪潮中,数据已成为企业核心资产,而数据的实时流动能力正成为业务竞争力的关键。谷云科技深耕数据集成领域多年,基于对行业痛点的深刻洞察,正式推出CDC实时数据集成平台****全新版本。…...
来自 3D 世界的 JPEG。什么是 glTF?什么是 glb?
定义和简史 GLTF(GL 传输格式)是一种用于存储 3D 场景和模型的文件格式,它非常易于理解(结构是用 JSON 标准编写的),可扩展并易于与现代 Web 技术交互。这种格式可以很好地压缩 3D 场景,并最大限…...
同一页面下动态加载内容的两种方式:AJAX与iframe
iframe iframe能够嵌入另一个 HTML 文档到当前页面。 iframe可以加载任何类型的内容,包括完整的HTML页面。 AJAX 使用 JavaScript 发起 HTTP 请求,通常通过 XMLHttpRequest 或现代浏览器中的 fetch API。 可以异步更新页面内容,而不必刷…...
蓝桥杯 6. 冰雹数
冰雹数 原题目链接 题目描述 任意给定一个正整数 N: 如果是偶数,执行:N / 2;如果是奇数,执行:N 3 1。 生成的新数字继续执行同样的动作,循环往复。 观察发现,这个数字会一会…...
常见网络安全攻击类型深度剖析(三):DDoS攻击——分类、攻击机制及企业级防御策略
常见网络安全攻击类型深度剖析(三):DDoS攻击——分类、攻击机制及企业级防御策略 在网络安全威胁中,分布式拒绝服务攻击(Distributed Denial of Service, DDoS)堪称“网络流量炸弹”。攻击者通过控制成百上…...
AI与思维模型【76】——SWOT思维模型
一、定义 SWOT思维模型是一种用于分析事物内部和外部因素的战略规划工具。其中,S代表优势(Strengths),是指事物自身所具备的独特能力、资源或特点,这些因素有助于其在竞争中取得优势;W代表劣势(…...
安全测试之SQL注入深度解析
引言 在当今数字化的浪潮中,Web 应用程序如同璀璨星辰般闪耀,承载着海量的信息交互与数据处理。然而,网络安全的阴影也如影随形,SQL 注入攻击便是其中极具威胁的一把利刃。它就像一个隐藏在暗处的黑客,一旦找到应用程序的漏洞,便能肆意篡改、窃取甚至破坏数据库中的重要…...
<论文>(谷歌)用于时序链接预测的迁移学习
一、摘要 本文介绍谷歌在2025年4月牵头发表的新论文《Transfer Learning for Temporal Link Prediction》。论文主要探讨了动态图中的时间链路预测(TLP)任务,以及如何让模型在不同图之间进行迁移学习。 译文: 基于图的链接预测应用…...
高效DCDC电源芯片在运动控制器中的应用:设计考量、性能评估与可靠性分析
摘要 随着工业自动化的深入推进,运动控制器作为自动化系统的核心组件,对电源芯片的性能提出了极高要求。高效率DCDC电源芯片凭借其卓越的电能转换效率、优异的负载响应特性和高功率密度,在运动控制器领域得以广泛应用。本文以国科安芯的ASP3…...
AI编程:[体验]从 0 到 1 开发一个项目的初体验
一、开发信息 开发时间:1.5-2天工具使用: 不熟练,开发本项目前1天,才简单使用了Cursor的功能 功能复杂度: 开发的功能相对简单。页面:2个,登录页面,个人中心页面功能:5个…...
重读《人件》Peopleware -(9-1)Ⅱ办公环境Ⅱ“你在这儿从早上9点到下午5点之间什么都做不成.“(上)
在我们经济的各个领域中,有一个广为流传的观点:“加班是生活的一部分。”这意味着工作量永远无法仅靠正常工作时间来完成。对我们来说,这似乎是一个值得怀疑的说法。确实,在软件行业里,加班是一种常见现象,…...
10前端项目----商品详情页/滚轮行为
商品详情页面 商品详情组件发送请求获取相应商品详情信息组件展示数据 优化一下路由配置代码滚轮自动置顶 商品详情组件 路由配置 点击商品进行跳转—将Detail组件变成路由组件 从商品到详情,肯定需要传参(产品ID)告诉Detail是哪个商品,需要展示哪个商品…...
8. 深入Spring AI:自定义Advisor
1、前言 前面大篇幅介绍了关于Spring AI Advisor机制,并介绍了一些常见的内置的advisor。今天我们来自定义有一个Advisor。 2、快速开始 要自定义一个属于自己的Advisor,其实很自定义一个AOP一样简单。只需遵循以下步骤: 创建一个Advisor类,实现CallAroundAdvisor或Stre…...
常见网络安全攻击类型深度剖析(一):恶意软件攻击——病毒、蠕虫、木马的原理与防范
常见网络安全攻击类型深度剖析一:恶意软件攻击——病毒、蠕虫、木马的原理与防范 在网络安全的威胁体系中,恶意软件(Malware)是最古老、最常见的攻击形式之一。从早期的计算机病毒到如今的高级木马程序,恶意软件始终是…...
知识知多少——Matplotlib 库
文章目录 Matplotlib 库详解(新版)一、Matplotlib 核心概念1. 基本架构2. 两种编程接口 二、新版 Matplotlib 安装与配置安装配置中文显示(新版推荐方式) 三、基本绘图示例1. 折线图2. 柱状图(新版样式) 四…...
Linux实验课
一.ln指令使用 ln是link的缩写,在Linux中 ln 命令的功能是为某一个文件在另外一个位置建立一个同步的链接,当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的…...
MQTT学习资源
MQTT入门:强烈推荐...