计算机组成原理-笔记-第二章
二、第二章——数据的表示和运算
1、进位制度(二进制、十进制)
2、BCD码(余三码、2421码)
编码方式 | 功能 | 好处 | 弊处 |
BCD码 | 将每个十进制数码转换为4位二进制码 | 精度高,适合直接用于数码管或LED等显示设备 | 编码长度长,占用存储空间多,运算速度慢 |
余三码 | 将每个十进制数码转换为3位二进制码 | 编码长度相对BCD码较短,占用存储空间相对较小 | 运算复杂,不易实现,精度较低 |
2421码 | 将每个十进制数码分别转换为2位、4位、2位和1位二进制码 | 编码长度短,可减少存储空间的占用 | 运算复杂,不易实现,精度较低 |
3、原码、反码、补码
无论是加法还是减法,都会把数值转为二进制补码进行运算
补码——(符号位)参与运算 !!!——
3、定点小数
原码表示范围为1.111 1111 ~0.111 1111,即-127/128到127/128
反码表示范围为1.000 0000~0.111 1111,即-127/128到127/128
补码表示范围为1.000 0000~0.111 1111,即-1到127/128
为什么是最小-1,因为这是小数啊!小数就是-1 ~
(1.0000000)原码= (1.0000000)反码 = (1.0000000) 补码 = -1
-1.0的原码通过纯小数的原码表示公式却表示不了,
我们无法得到-1.0的原码
但我们可以通过纯小数的补码表示公式得到-1.0的补码:
[-1.0]补=2+(-1.0)=1.000 0000
3、效验(奇偶校验码——看1)
不足:
只能检测奇数个错误!!!(如果有—偶数个错误位—那么将检测不出来)
只能用来检错,不能纠错!!!
好处:
电路实现简单——使用异或电路——就可以判断出1的个数
1的总数为偶数—— 异或得到的结果为 0(可以从异或表中看出结果,当为0异或1时,为1)
4、算术逻辑单元(ALU)
(1)一位全加器(FA – full adder)
输入: 两个数(0 / 1),低位的进位
输出: 进位信号,输出数(0 / 1)
用了2个与门,2个异或门,1个或门
封装:n个1位全加器,就可以构成n位加法器(串行加法器)——封装好,直接输入数据,就可以获得对应的结果——函数思想 —— 避免重复造轮子 (了解思想 – 自行优化 – 改造 !!!)
(2)并行加法器
(3)总结
(4)并行加法器(plus)
优点: 并行执行,几乎同时出结果(毕竟硬件的速度-超乎你想象)
缺点: 位数越多——硬件电路越复杂!! —— 成本高
优化: 4位 + 4位 (不往上叠加)
(5)补码加减运算器(含-标志位)
加减法——适用于——无符号 + 有符合 (都适用 !!!)
初级(会溢出——有问题!!!)
加强版——加入了4个flag(标志位)—— 解决溢出 – 还有 进位和借位(无符号专属)
5、定点数的移位运算(讲的略简单)
6、原码——乘法
(1)一位乘法
(1)手算(小数和整数——类似)
7、原码——除法
恢复余数法
改良——因为当你为负数时!那么必然左移之后就可以被除!!!
加减交替法(不恢复余数法—but:最后一步需要恢复)
注意:
(左移)要比(加减次数)少一次!
(加减次数)的总次数:(n+1) || (n+2)
(除数)一定要小于(被除数)——如果不是,则会在第一步中被终止!
(因为被除数减除数 小于 0)
(因此——定点小数除法——无法表示除数比被除数大的计算!!!)
8、补码——除法
更正:除数为11.0101
9、数据的存储与排列(大端 & 小端)
(1)边界对齐(时间 – 空间 – 字节转换)
10、浮点数表示(重难点※※※※※)
科学计数法——表示
浮点数——表示方法
(1)规格化
2^5 : 304.231 —— 右规 —— 2^7 : 3.042 (小数点不动——尾数右移)
2^5 : 0.00123 —— 左规 —— 2^3 : 0.123 (小数点不动——尾数左移)
好处——增加了精读(避免了无效的0占位置)
弊处——需要改变阶码的数——万一超出了阶码的表示范围呢????
巧妙点:用了双符号位——来防止溢出
不考的点——规格化——有数不能表示——表示
(2)规格化特点
上面写错了:左移三位后——应该是: 1.0100 000
(3)总结
11、IEEE(I triple E)
(1)移码
(2)重点(表示范围、转换)
注意:
阶码——全0、全1有特殊用途
真值 = 移码 – 偏移量
二进制数(机器中展示的) —— 十进制数 —— 两者的相互转换!!!
12、浮点数的运算
(1)十进制
(2)二进制计算
(3)【0舍1入法】与【恒置1法】
(4)强制类型转换
注意:
什么时候会有:精读丢失、溢出
(5)小结
相关文章:

计算机组成原理-笔记-第二章
二、第二章——数据的表示和运算 1、进位制度(二进制、十进制) 2、BCD码(余三码、2421码) 编码方式 功能 好处 弊处 BCD码 将每个十进制数码转换为4位二进制码 精度高,适合直接用于数码管或LED等显示设备 编码…...
mysql大量数据导入记要
需求描述 在工作中经历过两个项目要对数据库中的数据做大量数据的导出,转换和导入的工作。对于不涉及数据格式转换的导出导入工作,一般都是数据的备份。这个工作一般都由DBA搞定。对于要进行格式转换的工作,一般还是要由程序员参与。除非DBA…...

极狐GitLab 全新「价值流仪表盘」使用指南
本文来源:about.gitlab.com 作者:Haim Snir 译者:极狐(GitLab) 市场部内容团队 GitLab / 极狐GitLab 价值流仪表盘的使用相对简单,这种可以定制化的仪表盘能够让决策者识别数字化转型进程中的趋势及机遇。 如果你已经在用 GitLab…...
通过logrotate实现nginx容器内日志按天存储
场景 最近底层api需要上集群,于是用nginx做了转发,但是随着时间的增长,nginx的日志越来越大,磁盘空间也顶不住了,于是需要对日志进行分割,由于nginx原生是不支持日志按天存储和分割的,网上也介…...
广东珠海电子行业导入MES系统需要注意什么
一、电子行业工厂的生产特征 1.高度自动化: 电子行业的生产车间大多采用高度自动化的生产设备制造工艺。自动化流水线能够实现高效、精准和连续的生产过程,提升产品完整性和生产率。 2.多样化和个性化定制需求: 电子产品市场的需求多样化&…...
小红书2023/08/06Java后端笔试 AK
T1(模拟、哈希表) #include <bits/stdc.h>using namespace std;typedef long long LL; typedef pair<string, int> PSI;const int N 1e5 10;void solve() {string line, t;getline(cin, line);line ;vector<PSI> ans;unordered_m…...
3、有序数组的平方
有一个有序数组从大到小排列:-10 -5 1 2 3 4,将他们的每一项平方,然后再形成新的有序数组。 解法:双指针 因为前面是负数,后面是正数,平方和的最大值一定是从两端取得,所以可以定义一个头指针和…...
用于自然语言处理 (NLP) 的 MLOps
介绍 自然语言处理( NLP )的人工智能关注的是计算机和人们如何用日常语言进行交流。鉴于 NLP 模型在生产系统中的部署,我们需要简化 NLP 应用程序的不断使用,从而使 MLOps(机器学习操作)对 NLP 有所帮助。在生产系统中自动创建、训练、测试和部署 NLP 模型是 MLOps for …...
C#抽象静态方法
抽象静态方法 在C# 11中,引入了对抽象静态接口成员的支持。这个特性可以让你在接口中定义静态抽象方法、属性、或事件。具体来说,一个接口可以定义一个或多个抽象静态成员,这些成员没有具体的实现。任何实现该接口的类或结构必须提供这些成员…...

小研究 - Mysql快速全同步复制技术的设计和应用(一)
Mysql半同步复制技术在高性能的数据管理中被广泛采用,但它在可靠性方面却存在不足.本文对半同步复制技术进行优化,提出了一种快速全同步复制技术,通过对半同步数据复制过程中的事务流程设置、线程资源合理应用、批量日志应用等技术手段&#…...
HTML <samp> 标签
定义和用法 以下元素都是短语元素。虽然这些标签定义的文本大多会呈现出特殊的样式,但实际上,这些标签都拥有确切的语义。 我们并不反对使用它们,但是如果您只是为了达到某种视觉效果而使用这些标签的话,我们建议您使用样式表&a…...
C之(8)linux动态库编译框架
C之(8)Linux动态库编译基础框架 Author: Once Day Date:2023年8月5日 漫漫长路,有人对你微笑过嘛… 参考引用文档: VERSION (LD) (sourceware.org)Warning Options (Using the GNU Compiler Collection (GCC))All about symbo…...

Zabbix网络拓扑配置
一、简介 网络拓扑功能是一项非常重要的功能,它可以直观展示网络设备主机状态及端口传输速率等指标信息,帮助运维人员快速发现和定位故障问题;Zabbix同样配备了强大的网络拓扑功能,如何使用Zabbix拓扑图功能创建一个公司网络拓扑…...
2.4G芯片XL2408开发板,SOP16封装,芯片集成1T 8051内核单片机
XL2408开发板可用于2.4G芯片XL2408开发板的开发调试。XL2408烧录仿真需要使用WS_LINK。XL2408开发板烧录仿真需要接4根线:PA13:DIO,PA14:CLK,VCC,GND。 XL2408芯片集成射频收发机、频率收生器、晶体振荡器、调制解调器等功能模块,…...

iPhone苹果手机地震预警功能怎么开启?
iPhone苹果手机地震预警功能怎么开启? 1、打开iPhone苹果手机设置; 2、在iPhone苹果手机设置内找到辅助功能; 3、在辅助功能内找到触控; 4、在iPhone苹果手机辅助功能触控内找到振动,如果是关闭状态请启; …...

Storm学习之使用官方Docker镜像快速搭建Storm运行环境
文章目录 0.前言搭建完的效果 1.教程1.1.docker 安装 zookeeper1.2. 安装 storm nimbus1.3.docker 安装 supervisor1.4.docker 安装 storm-ui1.5.查看已经启动的容器1.6.提交topology到 storm集群 2.总结3.参考文档 0.前言 Apache Storm 官方也出了Docker 镜像 https://hub.do…...

【GTest学习】
1. GTest简介: GTest 就是 Google Test, 它是一个免费开源的测试框架, 用于编写测试用 C语言编写的程序(C 程序也能用, 但是需要用 C编译器编译)。gtest的官方网站是:http://code.google.com/p/googletest/ 2.GTest下载与环境搭建: GTest 下…...
[JAVAee]网络通信基础
目录 IP地址 端口号 网络协议 五元组 TCP/IP五层模型 网络互连之间的目的就是为了相互通信,传输数据,是可以不同进程间的基于网络的数据传输. 而IP就可以确定网络通信的双方. IP地址 IP地址主要用于定位标识网络主机或其他网络设备的网络地址.(就像快递的收货地址一般…...
【HDFS】BlockManager#checkRedundancy方法详解
BlockManager#checkRedundancy这个方法只有一处调用点, 就是FSNamesystem#finalizeINodeFileUnderConstruction方法。 TODO:补充FSNamesystem#finalizeINodeFileUnderConstruction方法的调用点。 checkRedundancy方法的参数的BlockCollection对象bc,解释一下,INodeFile类是…...

c++ 拷贝构造
我们思考一下这个问题: 观察以下代码,在运行的时候会崩溃 想一想为什么 #include<iostream> using namespace std;//栈类 typedef int DataType; class Stack { public://默认构造:Stack(size_t capacity 3){_array (DataType*)ma…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...

【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...

【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...

论文阅读:LLM4Drive: A Survey of Large Language Models for Autonomous Driving
地址:LLM4Drive: A Survey of Large Language Models for Autonomous Driving 摘要翻译 自动驾驶技术作为推动交通和城市出行变革的催化剂,正从基于规则的系统向数据驱动策略转变。传统的模块化系统受限于级联模块间的累积误差和缺乏灵活性的预设规则。…...

热烈祝贺埃文科技正式加入可信数据空间发展联盟
2025年4月29日,在福州举办的第八届数字中国建设峰会“可信数据空间分论坛”上,可信数据空间发展联盟正式宣告成立。国家数据局党组书记、局长刘烈宏出席并致辞,强调该联盟是推进全国一体化数据市场建设的关键抓手。 郑州埃文科技有限公司&am…...

如何把工业通信协议转换成http websocket
1.现状 工业通信协议多数工作在边缘设备上,比如:PLC、IOT盒子等。上层业务系统需要根据不同的工业协议做对应开发,当设备上用的是modbus从站时,采集设备数据需要开发modbus主站;当设备上用的是西门子PN协议时…...

五、jmeter脚本参数化
目录 1、脚本参数化 1.1 用户定义的变量 1.1.1 添加及引用方式 1.1.2 测试得出用户定义变量的特点 1.2 用户参数 1.2.1 概念 1.2.2 位置不同效果不同 1.2.3、用户参数的勾选框 - 每次迭代更新一次 总结用户定义的变量、用户参数 1.3 csv数据文件参数化 1、脚本参数化 …...

C++中vector类型的介绍和使用
文章目录 一、vector 类型的简介1.1 基本介绍1.2 常见用法示例1.3 常见成员函数简表 二、vector 数据的插入2.1 push_back() —— 在尾部插入一个元素2.2 emplace_back() —— 在尾部“就地”构造对象2.3 insert() —— 在任意位置插入一个或多个元素2.4 emplace() —— 在任意…...