计算机组成原理——第二章数据的表示和运算(上)

news2024/11/25 14:38:02

提示:日出有盼,落日有念,心有所期,忙而不茫

文章目录

  • 前言
  • 2.1.1 进位计数制
  • 2.1.2 BCD码
  • 2.1.3 无符号整数的表示和运算
  • 2.1.4 带符号整数的表示和运算(原反补)
  • 2.1.5原反补码的特性对比
  • 2.1.6 移码
  • 2.1.7 定点小数


前言

这里主要是根据王道考研视频所作的第二章,这一章主要探讨两个问题,数据如何再计算机中表示?,运算器如何实现数据的算数,逻辑运算?


提示:以下是本篇文章正文内容,下面案例可供参考

2.1.1 进位计数制

任意进制转化十进制
二进制转化为八进制
三个二进制数正好可以表示八种不同的状态
以小数点开始左右3位为一组,每组转化为对应的八进制符号(高位整数补零,地位小数补零)
请添加图片描述

二进制转化为十六进制
四个二进制数正好可以表示十六种不同的状态
以小数点开始左右4位为一组,每组转化为对应的16进制符号
请添加图片描述

八进制转化二进制
请添加图片描述

十六进制转化为二进制
请添加图片描述

进制的常见书写方式
二进制以B结尾,八进制以O开头,十六进制以H结尾或者以0x开头,十进制以D结尾
请添加图片描述

十进制转化为任意进制
请添加图片描述

方法一
(除基取余法整数部分):任意一个整数都可以写成整数X(R的一次方,二次方,一直到n-1次方,所以是可以整除的)部分加上余数K0(0~R)部分 ,所以我们除以R之后得到余数K0便是R的零次方上的数值,再用得到的商再除以R得到的便是K1(先取得的余是整数的低位
请添加图片描述

(乘基取整法小数部分):核心思想也是一样 想办法把K-1算出来,这里发现乘上一个R便可直观的得到K-1的值 ,得到的结果再乘R得到的便是K-2的值(先取得的整是小数的高位
请添加图片描述

方法二(拼凑法)
若是给你的十进制数不是特别大的话,可能使用这些拼拼凑凑的方法可能要快一些,假如要将十进制转化成八进制,完全可以先转化成二进制,然后二进制再三位一组转化为八进制
小结回顾
请添加图片描述

2.1.2 BCD码

BCD:用二进制编码的十进制
8421码
通过上述我们知道要想表示0~9这十个数,必须最少需要4bit,而4bit则可以表示16个值 ,这样也就会有6个yong余,8421码的提出便是为了快速转换
8421码的相加:若是两个数对应的8421码相加的结果不在映射表中,也就是落到了10~15这个区间这个时候我们再加上6 这样就一定会向高位进一个1,而低位所留下的部分又正好是我们个位所留下的部分
请添加图片描述

余3码
也就是在8421码的基础上加上一个0011得到不同的映射关系,
2421码
我们依然是使用四个二进制位来表示一个十进制位,不过这四个的权值是2421,同样需要注意0 ~ 4第一位都是零,5 ~ 9第一位则一定是1 这也是为了避免同一个值有不同的2421码(如5 0101或1011)
请添加图片描述

回顾
请添加图片描述

2.1.3 无符号整数的表示和运算

这里主要探讨两个问题,无符号整数,在计算机硬件内,如何表示,无符号整数的加法,减法运算时怎么用硬件实现的
机器字长限定了每一次只能进行几个bit运算,机器字长也限制了通用寄存器只能有多少位
无符号整数
全部二进制位都是数值位,没有符号位,第i位的位权是 2的i-1次方,n bit无符号整数表示的范围0~2的n次方-1 超出则溢出,意味着计算机无法一次处理这么多,可以表示的最小的数全是0,可以表示的最大的数全是1
无符号整数的减法运算
被减数不变,减数全部按位取反,末位+1 减法变加法,从最低为开始,按位相加,并往最高位进位
请添加图片描述

知识点回顾
请添加图片描述

2.1.4 带符号整数的表示和运算(原反补)

首先我们这节主要解决的是带符号整数,在计算机硬件内,如何表示,第二带符号整数的加法,减法运算是如何用硬件实现的?
同一个带符号整数可以用不同的编码方式表示 ,这便是原码 补码 反码,形式不同但是含义相同
原码表示法
分为符号位和数值位 符号位0正1负 其实也就是之前的表示方式,不过是使用一位来表示正负,其他的依然如之前的表示,注意这里假设的机器字长是n+1
请添加图片描述
原码的缺点:符号位不能参与运算,需要设计复杂的硬件电路才能处理,所以聪明的科学家也就想到了用补码来表示真值——符号位可以参与运算(正数的补码可以解释为位权,负数的补码不能解释为位权)

  • 方法 一*
    正数的原码,反码,补码都是不变的
    负数的原码到反码是符号位不变,数值位取反,然后末位+1得到补码
    若是让你根据补码来求反码,你可以先求原码再求反码(这里使用的方式是第二种,从右往左找到第一个1 这个1左边的所有数值位按位取反便可得到原码)
    请添加图片描述

方法二
从右往左找到第一个1,这个1左边的所有“数值位”按位取反(按照之前我们计算机计算的方法,把所有的数值位按位取反,末位加一个一,若是反码最后一个是一,并且这个一前面也是一,就会导致不断的向前进位,直到前面那个是零才会停止,也就导致从右往左第一个1的右边的值与原码是一致的,所以这也就是为什么我们从右往左找到第一个1,这个1左边的所有数值按位取反便可得到补码)
请添加图片描述

方法一是计算机处理的方式,我们若是手算的话 推荐第二种
带符号整数加法运算
从低位开始,按位相加(符号位参与运算),并往更高位 进位
请添加图片描述
带符号整数减法运算
A-B=A+(-B),也就是将减数取负值,所以也就有了全部位取反
方法一:首先是全部位按位取反,然后末位加一,与上面负数求补码有所不同(符号位不变,数值位取反)
方法二:与之前类似,从右往左找到第一个1,此1左边的全部取反(之前负数求补码是数值位取反,这里是全部),右边的不变便可得到原码或者补码
请添加图片描述
这也就能和之前的无符号的减法相联系,减数 全部取反,末位加1,相联系
知识点回顾
请添加图片描述

2.1.5原反补码的特性对比

注意加红的即可,如若是-64-64 结果保存在原码中则会溢出,若是保存于补码中则不会溢出

请添加图片描述

2.1.6 移码

补码的基础上将符号位取反
请添加图片描述
请添加图片描述

请添加图片描述

2.1.7 定点小数

反码,补码和上面是一样的 这里看一下区别
请添加图片描述
另外一个需要注意的地方就是取值范围以及最小的数,还有真值零的表示
请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/425900.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3 history模式配置及nginx服务器配置

vue的路由方式有hash模式和history模式,history模式路由看起来有好些,路由路径里没有#号,而hash模式默认是有#号的。 vue3开始默认新建的项目都是history模式,不过history模式打包后想要使用正常访问的话,需要后端服务…

BIO/NIO/Netty网络通信编程

文章目录1 BIO (BLOCK IO)2. NIO (new IO)2.1 NIO-Buffer缓冲区2.2 NIO-Buffer分散读-集中写2.3 NIO-Buffer粘包半包2.4 NIO-Channel2.4.1 files相关操作2.4.2 channel网络通信2.4.3 处理消息边界2.4.4 buffer大小分配2.4.5 处理大量写事件2.5 selector-Epoll2.6 IO模型2.7 零拷…

懒人必备!Python代码帮你自动发送会议纪要,让你有更多时间做更重要的事情

目录 痛点: 应用场景: 源代码: 代码说明: 效果如下所示: 痛点: 在传统的工作中,发送会议纪要是一个比较繁琐的任务,需要手动输入邮件内容、收件人、抄送人等信息,每…

代码随想录算法训练营第五十六天 | 583. 两个字符串的删除操作、72. 编辑距离、编辑距离总结

583. 两个字符串的删除操作 动规五部曲 1、确定dp数组(dp table)以及下标的含义 dp[i][j]:以i-1为结尾的字符串word1,和以j-1位结尾的字符串word2,想要达到相等,所需要删除元素的最少次数。 2、确定递推…

基于matlab使用Swerling目标模型来描述雷达横截面的波动

一、前言该示例说明了如何使用Swerling目标模型来描述雷达横截面的波动。该场景由旋转单基地雷达和具有Swerling 2模型描述的雷达横截面的目标组成。在此示例中,雷达和目标是静止的。二、斯威林 1 与斯威林 2 模型在Swerling 1和Swerling 2目标模型中,总…

Spring项目中如何接入Open AI?

前言 最近随着ChatGPT的爆火,很多人都坐不住了,OpenAI API 允许开发人员访问该模型并在其自己的应用程序中使用。那么它能给我们我们Java开发带来那些好处呢?又该怎么接入Open AI呢? 在开始之前,我们需要在 OpenAI 网…

安全沙箱技术小科普

安全沙箱技术是一种用于保护用户隐私和系统安全的机制,它可以将应用程序限制在一个封闭的运行环境中,防止其对系统和其他应用程序造成潜在的威胁。安全沙箱技术广泛应用于计算机安全领域,如防病毒软件、浏览器、操作系统等,以提高…

UE4读取本地XML文件

关键词:UE4 UE5 Unreal Engine XML 文件 txt 需求: 游戏开发中需要读取了写入配置文件,需要保存场景信息,道具位置旋转信息,那么将其保存为XML是一个不错的办法。 涉及知识点: 怎样读取xml文件 思路 …

2023级浙江大学MBA提前批面试真题及经验分享

前段时间获得了浙大MBA项目拟录取资格,在跟易考周老师报喜的同时也很荣幸收到了分享提前批面试经验的邀请,现在也4月中旬了,马上浙大MBA提面第一批次就要开始了,根据我的经验来说,参加浙大前三批提面拿优秀的概率会更高…

移动App测试实战—专项测试

移动App测试实战—专项测试 我们在进行了手工的功能测试之后,也开发了一些自动化测试用例,并且做了性能测试之后,测试工作看似比较完整了。但是当我们的App在大量的用户那里被安装和使用的时候,还是会有很多我们之前没有预料的问题…

【C++】STL——用一颗红黑树封装出map和set

用一颗红黑树封装出map和set 文章目录用一颗红黑树封装出map和set一、前言二、红黑树模板参数的控制三、模板参数中仿函数的增加四、红黑树正向迭代器的实现五、红黑树的反向迭代器的实现六、红黑树的begin()和end()七、红黑树的rbegin()和rend()八、[ ]下标访问运算符重载九、…

java ssm人力资源系统Y3程序

1.系统登录:系统登录是员工访问系统的路口,设计了系统登录界面,包括员工名、密码和验证码,然后对登录进来的员工判断身份信息,判断是管理员还是普通员工。 2.系统员工管理:不管是超级…

深入剖析:如何优化Android应用的性能和内存管理

深入剖析:如何优化Android应用的性能和内存管理 性能和内存管理的重要性 在今天的移动应用开发中,用户对于应用的性能和体验要求越来越高。一款性能卓越的Android应用能够提供流畅的操作体验、快速的响应速度以及较低的资源消耗,从而提高用户…

26《Protein Actions Principles and Modeling》-《蛋白质作用原理和建模》中文分享

​《Protein Actions Principles and Modeling》-《蛋白质作用原理和建模》 本人能力有限,如果错误欢迎批评指正。 第六章:The principles of protein folding kinetics (蛋白质折叠动力学的原理) -速率测量有助于深入了解蛋白…

高级数据结构与算法 | 基数树(Radix Tree)

文章目录RadixTree基本概念概念Radix Tree VS Trie Tree应用场景实现数据结构插入删除查找完整代码RadixTree 基本概念 概念 如果对 Trie 不太了解,可以看看我的往期博客: https://oreki.blog.csdn.net/article/details/109076473 Radix Tree是一种基于…

[HNCTF 2022 Week1]Challenge__rce

1.打开环境。 查看源码传入hint获得源码。 <?php error_reporting(0); if (isset($_GET[hint])) {highlight_file(__FILE__); } if (isset($_POST[rce])) {$rce $_POST[rce];if (strlen($rce) < 120) {if (is_string($rce)) {if (!preg_match("/[!#%^&*:\-&…

采集工具如何帮助SEO优化关键词

随着互联网的发展&#xff0c;越来越多的企业开始意识到SEO优化对于企业的重要性。SEO优化可以帮助企业提高网站在搜索引擎中的排名&#xff0c;进而吸引更多的潜在客户。而关键词则是SEO优化的核心&#xff0c;如何找到合适的关键词&#xff0c;成为了企业优化的关键。在这里&…

ActiveMQ使用(三):在JavaScript中使用mqttws31.js

ActiveMQ使用(三):在JavaScript中使用mqttws31.js 1. 环境准备 jQuery-1.10 下载地址:https://www.jsdelivr.com/package/npm/jquery-1.10.2?tabfilesmqttws31.js: 下载地址:https://www.jsdelivr.com/package/npm/ng2-mqtt 2. 相关代码 <!DOCTYPE html> <html …

【GPT4】微软 GPT-4 测试报告(3)GPT4 的编程能力

欢迎关注【youcans的GPT学习笔记】原创作品&#xff0c;火热更新中 微软 GPT-4 测试报告&#xff08;1&#xff09;总体介绍 微软 GPT-4 测试报告&#xff08;2&#xff09;多模态与跨学科能力 微软 GPT-4 测试报告&#xff08;3&#xff09;GPT4 的编程能力 【GPT4】微软 GPT-…

在线绘制思维导图

思维导图是一种可视化的思维工具&#xff0c;它可以将放射性思考具体化为可视的图像和图表。 思维导图利用图文并重的技巧&#xff0c;把各级主题的关系用相互隶属与相关的层级图表现出来&#xff0c;把主题关键词与图像、颜色等建立记忆链接。 它运用图像和颜色等多种元素&…