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

news2024/9/22 7:53: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
在这里插入图片描述

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

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

相关文章

从零玩转设计模式之原型模式-yuanxingmoshi

title: 从零玩转设计模式之原型模式 date: 2022-12-11 20:05:35.488 updated: 2022-12-23 15:35:44.159 url: https://www.yby6.com/archives/yuanxingmoshi categories: - 设计模式 tags: - 设计模式 - 原型模式 什么是原型模式设计模式? 原型模式是一种软件设计模式&#…

【Rust 日报】2023-05-19 Bevy主分支添加了对WebGPU的支持

cascade-protocol Rust实现的 Cascade information reconciliation protocol for Quantum Key Distribution (QKD) 量子键分布?好像是密码学相关的。 隔行如隔山,小编也不懂这个具体是干啥的。感兴趣的同学可以前去研究。 https://github.com/gftea/casc…

SSR 应用与原 CSR 应用变更同步问题实践

在上一篇介绍《天猫汽车商详页的SSR改造实践》一文中提到过,为免影响线上应用,我们的一体化应用(后面简称称 SSR 应用)是在原 CSR 项目基础上另起的应用仓库。 背景 当商详业务有新需求迭代,CSR 仓库发生了变化&#x…

Java基础学习(18)反射、动态代理

Java基础学习 一、反射1.1 什么是反射1.2 获取class对象 二、综合练习2.1 保存信息2.2 文件的动态创建 三、动态代理3.1 什么是动态代理3.2 创建代理 一、反射 1.1 什么是反射 反射允许对封装类的字段,方法和构造函数的信息进行编程访问 个人理解: 就是…

【JVM】5. 本地方法接口和本地方法栈

文章目录 5.1. 什么是本地方法?5.2. 为什么使用Native Method?5.3. 本地方法栈 5.1. 什么是本地方法? 简单地讲,一个Native Method是一个Java调用非Java代码的接囗。一个Native Method是这样一个Java方法:该方法的实现…

【007】C++数据类型之原码、补码、反码

C数据类型之原码、补码、反码 引言一、原码、补码、反码的概述二、为什么要使用补码?三、对数据的存四、对数据的取总结 引言 💡 作者简介:专注于C/C高性能程序设计和开发,理论与代码实践结合,让世界没有难学的技术。包…

KingbaseES V8R3 集群运维案例--sys_rewind恢复备库节点

​ 案例说明: 在KingbaseES V8R3集群执行failover切换后,原主库被人为误(未配置recovery.conf)启动;或者人为promote备库为主库后。需要将操作节点再重新加入集群,此时节点与主库的timeline将出现分叉,导致节点直接加入…

ChatGLM-6B 本地部署指南!

Datawhale干货 作者:宋志学,Datawhale成员 注意事项-写在最前 显卡需要至少6GB的显存使用GPU部署模型需要自行安装torch和与自己显卡匹配的CUDA、cudnn 下载ChatGLM-6B 在GitHub上下载chatglm-6b的源码,地址如下 https://github.com/THUDM/C…

信息安全-应用安全-SCA技术:SBOM应用实践初探

目录 软件供应链安全治理 供应链安全概述 风险治理重点 何为SBOM SBOM的元素 SBOM的格式 SBOM使用场景 如何使用SBOM 选择SBOM工具 SBOM与风险情报关联 围绕SBOM建立管理流程 关于SBOM的思考 现代软件都是组装的而非纯自研。随着开源组件在数字化应用中的使用比例越…

【C++】运算符重载与赋值运算符重载(显式与默认)的特性与格式以及前置++,后置++重载

文章目录 前言一、运算符重载二、赋值运算符重载1. 赋值运算符重载格式:2. 用户没有显式实现时,编译器会生成一个默认赋值运算符重载,以值的方式逐字节拷贝。3. 赋值运算符只能重载成类的成员函数不能重载成全局函数 三、前置与后置 前言 C为…

【Linux】Linux小程序-进度条

目录 一、\r和\n的理解 二、行缓冲区概念 三、进度条源代码 一、\r和\n的理解 \r:回车; \n:换行; 那么请问这两个有什么区别呢? 比如:我们在编写内容的时候,一行没有写完的情况下,需…

【信息安全案例】——软件解密技术(以OllyDbg为例)

目录 🕒 1. 软件解密技术🕘 1.1 概述🕘 1.2 爆破🕘 1.3 跟踪注册🕘 1.4 写出注册 🕒 2. 破解相关问题🕘 2.1 破解程度🕘 2.2 破解线索 🕒 3. 实验:使用 OllyD…

分布式系统原理

高可用是指系统无中断的执行功能的能力,代表了系统的可用程度,是进行系统设计时必须要遵守的准则之一。 而高可用的实现方案,无外乎就是冗余,就存储的高可用而言,问题不在于如何进行数据备份,而在于如何规避…

MacOS Ventura 13.4 (22F66) 带 OC 引导双分区黑苹果镜像

苹果今日向 Mac 电脑用户推送了 macOS 13.4 更新(内部版本号:22F66),本次更新距离上次发布隔了 41 天,主要解决了与Apple Watch自动解锁、蓝牙键盘、屏幕使用时间和VoiceOver相关的问题,推荐大家安装升级。…

Vue 级联组件添加按钮并添加点击事件加传参

我这里采用的是jqvue实现的此功能,首先是要把按钮追加进去,当然头开始写真实dom会导致页面上也追加显示,但是我想实现的是在级联组件上追加所以,选择创建虚拟dom,然后传参这点实在是研究试错了半天,最后选择…

聚观早报|ChatGPT 推出官方 iOS App;大疆称将接收OPPO哲库工程师

今日要闻:ChatGPT 推出官方 iOS App;大疆称将接收OPPO哲库工程师;菜鸟、盒马启动上市计划;苹果公司限制员工使用ChatGPT;张勇:阿里云将分拆上市 ChatGPT 推出官方 iOS App 北京时间 5 月 19 日&#xff0c…

苹果扩充AirTag应用场景,苹果Find My应用更加广泛

根据美国商标和专利局(USPTO)公示的清单,苹果近日获得了一项技术专利,将追踪器附着人体或者服装上,从而监测健康和活动数据。 AirTag 不仅可以追踪某件事物之外,还可以通过安装在人体的不同位置&#xff0c…

人工智能本来是个很简单的事,咋被人们整的这么神秘?

(1) 很多人以为大模型的参数量大是因为数据多。 其实大模型的参数量和超参数的配置相关。主要的超参数有下面几个: 词表大小:Vocab_Size最大位置编码大小:Max_Position_embeddings隐层节点数大小:Hidden_Si…

Linux - 第16节 - 网络基础(应用层二)

1.HTTP协议 我们在套接字部分编写的代码和应用层一中编写的网络计算器代码都是在应用层工作的,是应用层代码,因此应用层代码包括: (1)基本系统socket套接字系列接口的使用。 (2)定制协议&#x…

一个炎爆术分享给大家~

先来强势围观&#xff1a; 再看代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><script src"https://cdnjs.cloudflare.com/ajax/libs/three.js/r120/…