【计算机组成原理】(四)原码补码的加减乘除

2023-11-04

在这里插入图片描述

各种码的作用:

模运算的性质:

-3=(-1)*12+9

9=0*12+9

21=1*12+9

33=2*12+9

-15=(-2)*12+9

我们发现等号右边都是+9,相当于等号的左边的数除去12的余数都是9

那我们就说这几个等好左边的数,在mod12的情况下,是等价的

image-20230308190655236

我们发现-3和9互为补数,两者绝对值之和=模

image-20230308190835591

加减运算:

有符号数相加,当+14与-14相加,计算机怎么算呢?

+14+(-14)=0

任何运算结果在mod2的8次方后,都只会保留最低的八位

00001110(+14)

10001110(-14)

将-14取补码然后与+14相加再mod2的8次方,这样就说将减法变为加法来运算

image-20230308192512623

移位运算:

算数移位

原码的算数移位——符号位不变,仅对数值进行移位

image-20230308192702546

右移:高位补0,低位舍弃,舍弃的位数=0,相当于/2,如果舍弃的位不等于0,则会丢失精度

左移:低位补0,高位舍弃。舍弃的位数=0,相当于*2,如果不是0,则会出现有严重误差

image-20230308192732367

补码的算数移位:

image-20230308193044804

逻辑移位:

逻辑右移:高位补0,低位舍弃,

逻辑左移:低位补0,高位舍弃

image-20230308193357445

循环移位:

image-20230308193523435

image-20230308193542572

定点数的乘法运算:

原码一位乘法:

原码的一位乘法:符号位和数值位是分开算的

image-20230315105944541

假设数值位为n位,符号位为1位,所以一共为n+1位的数值

原码的一位乘法是通过运算器来完成的

image-20230322122228708

一位乘法的运算规则:
  1. 将被乘数和乘数取绝对值参加运算,看作无符号数,符号位通过两个数的符号位异或得到(x^y)
  2. 乘数(ACC)的每一位y[i]乘于被乘数(X)得到x[i]*y[i],将该结果与前面所得的结果想加后的值就是部分积(部分积是乘法过程的中间结果,初始化为0)
  3. 从参数的最低位y[n]开始判断:

当y[n]=1,则部分积加上被乘数|x|,然后右移一位(这指的右移是ACC和MQ一起右移,此时ACC的最低位会变成MQ的最高位)

当y[n]=0,则部分积+0,然后右移一位。

image-20230324010248054

示例讲解:

例:设x=-0.1101,y=0.1011.采用一位乘法求x*y

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r7MeMm2n-1684543579506)(https://typoraph.oss-cn-shenzhen.aliyuncs.com/%E5%8A%A8%E7%94%BB.gif)]

补充知识点:

异或:相同为0,相异为1

补码的一位乘法:

注意

  • 补码的一位乘法需要在MQ上加一个位置(辅助位)
  • ACC和X也因此多加了一位在前面(多加的位为符号位,即:双符号位,而MQ为单符号位)

因此每个都有n+2位

  • 下面说的MQ中的最低位其实是MQ的倒数第二位,因为最后一位是辅助位
一位乘法的运算规则:

补码一位乘法:进行 n轮加法、移位,最后再多来一次加法

每次加法可能+0、+[x]补、[-x]补

每次移位是“补码的算数右移,符号位参与运算
根据当前MQ中的最低位辅助位 来确定加什么
辅助位- MQ中最低位=1时,ACC+[X]补

辅助位-MQ中最低位 =0时,ACC+0

辅助位-MQ中最低位 =-1时,ACC+[-X]补

问题

设x=-0.1101,y=0.1011,设用Booth算法求x*y?

image-20230410185819463

这是进行了n次,还要再进行一次,ACC等于11.0111

【xy】补=1.01110001 所以【x *y】等于-0.10001111

image-20230410163926524

定点数的除法运算:

我们这里主要介绍的是补码的除法运算

这里需要符号位和数值位一起参加运算

规则如下:

  • 除数和被除数、商、余数都用补码表示
  • 当除数和被除数同号时,则减去除数,如果异号,则加上除数
  • 当余数与除数同号,则商上1,余数左移一位减去除数,如果异号,则商0,余数左移一位加上除数
  • 最后的时候需要商的末位恒置为1

IMG_9575

IMG_9576
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【计算机组成原理】(四)原码补码的加减乘除 的相关文章

随机推荐

  • 巴比特

    摘要 元宇宙变得越来越重要 因为它为企业提供了一种与来自世界各地的用户进行交流和协作的新途径 从小企业到大公司 每个品牌都可以踏入虚拟世界 并从中获益 那么一般的企业如何将业务转移到元宇宙呢 这7个步骤了解一下 热点资讯 Meta 宣布大幅
  • 偏微分方程(Partial Differential Equation II)

    数学物理方法 正交曲面坐标系下的分离变量 球函数 勒让德方程的解 勒让德函数 连带勒让德函数 球谐函数 柱函数 贝塞尔方程的解 贝塞尔函数 球贝塞尔方程 偏微分方程 Partial Differential Equation I 偏微分方程
  • php网页如何适应手机端,PC网页的移动端适配兼容性应该如何实现自动适配

    概念 移动时代的今天 现如今随着智能手机的不断发展 移动端搜索的比例也在不断增加 而传统的PC站点在手机端的用户体验度很差 这容易导致大量用户的流失 所以做一个对应的手机站是非常有必要的前端代码的编写永远逃不过 兼容 二词 从前PC时代 因
  • 第四届“泰迪杯”数据分析技能赛通知

    各有关单位 为推广我国高校数据分析实践教学 培养学生数据分析的应用和创新能力 增加校企交流合作和信息共享 提升我国高校的教学质量和企业的竞争能力 由泰迪杯数据分析技能赛组织委员会主办 广东泰迪智能科技股份有限公司承办 广东省工业与应用数学学
  • cgminer 2.2.4 参数详解!

    日期 2012 02 13 分类 Cgminer 版权声明 转载时请以超链接形式标明文章原始出处和作者信息及本声明 http bitcoin blogbus com logs 192244223 html cgminer2 2 4已经发布
  • 用Cookie添加登录界面的记住密码功能

    在网上看到很多关于cookie记录登录密码的功能 但是大部分都是jsp界面 最近刚好有个项目用到了cookie功能 所以编写了这个介绍 补全一下 1 第一步 首先需要在登录界面中写一个form表单 这个不用多说
  • kubernetes理论概念详情(K8S)

    1 优势 2 四组基本概念 3 核心组件 4 其他概念 5 基本命令
  • frp安全内网穿透,安全远程windows,暴露服务

    目录 概述 公网服务器端 内网Windows客户端 外网Windows客户端 附加 暴露多台内网Windows客户端 附加 暴露服务 总结 概述 frp 是一个专注于内网穿透的高性能的反向代理应用 支持 TCP UDP HTTP HTTPS
  • pip在线安装selenium

    最近发布了selenium3 0 但是会有很多莫名其妙的报错 原来可执行的代码也报错了 所以要重新安装回2 0 一 2 7 10之后的python安装包自带了Pip和setuptools 如果你没有安装可以去官网单独下载然后安装 a 下载地
  • js取值方式

    1 根据class id 取 input 标签的value 值 jQuery className val idName val javaScript document getElementById idName value 2 根据clas
  • GPRS本质论

    GPRS DTU最基本的用法是 在DTU中放入一张开通GPRS功能的SIM卡 DTU上电后先注册到GPRS网络 然后通过GPRS网络和数据处理中心建立连接 这条连接涉及了无线网络运营商 因特网宽 带供应商 用户公司的网络情况 以及用户的电脑
  • 使用ELK收集网络设备日志的案例

    简介 随着机房内的服务器和网络设备增加 日志管理和查询就成了让系统管理员头疼的事 系统管理员遇到的常见问题如下 1 日常维护过程中不可能登录到每一台服务器和设备上去查看日志 2 网络设备上的存储空间有限 不可能存储日期太长的日志 而系统出现
  • 解决github下载慢的问题可以提速【1M/s】

    1 问题描述 在github上下载项目时 下载速度经常都是20k s的速度下载 项目过大时还经常会显示网络出错导致下载失败 2 原因 我想对于经常使用git的人来讲 很可能已经知道了 对于新手刚接触git的人来讲 可能你只知道github
  • 分享!一文简析RASP技术

    众所周知 log4j 2 x安全事件引起了轩然大波 对于信息安全从业者来讲可以称之为 家喻户晓 与之同时引起大家关注的是RASP Runtime application self protection 技术 该技术在2014年Gartner
  • 强化学习奖励函数的归一化

    将每个奖励分量进行归一化 然后再分配权重
  • 9月17日服务器维护,2020年09月17日维护公告

    亲爱的玩家 为了保证服务器的稳定和服务质量 大话西游2免费版 将于2020年09月17日早上8 00停机 进行每周例行的维护工作 维护时间为早上08 00至09 30 同时 本次停机还将发布最新的客户端补丁 patch2 0 824 如果在
  • 从零开始学习JavaScript:轻松掌握编程语言的核心技能③

    从零开始学习JavaScript 轻松掌握编程语言的核心技能 一 JavaScript条件语句 1 1 if Else 语句 1 2 if else if else 语句 1 3 switch 语句 1 4 for 循环 1 5 while
  • 线性插值_c语言实现

    这是个很简单的数学工具 有的问题可能就只需要简单的数学工具就能解决 线性插值 线性插值法 是指使用连接两个已知量的直线来确定在这两个已知量之间的一个未知量的值的方法 线性插值相比其他插值方式 如抛物线插值 具有简单 方便的特点 线性插值可以
  • 基于Zxing的二维码生成和二维码扫描

    最近又在倒腾二维码 发现网上的教程都不够用 所以把之前整合的二维码Demo有拿出来重新添加些功能 这里也算是重新学习吧 当然对于二维码 相信大家都很熟悉了 这里就不多说 本项目是基于Zxing的开源项目开发的 这里用的Demo是之前网上搜的
  • 【计算机组成原理】(四)原码补码的加减乘除

    各种码的作用 模运算的性质 3 1 12 9 9 0 12 9 21 1 12 9 33 2 12 9 15 2 12 9 我们发现等号右边都是 9 相当于等号的左边的数除去12的余数都是9 那我们就说这几个等好左边的数 在mod12的情况