定点数的乘除运算

原码一位乘法

  1. 乘积的符号由两个数的符号位异或而成。(不参与运算
  2. 被乘数和乘数均取绝对值参与运算,看作无符号数。
  3. 乘数的最低位为Yn:
    1. 若Yn=1,则部分积加上被乘数|x|,然后逻辑右移一位;
    2. 若Yn=0,则部分积加上0,然后逻辑右移一位;

补码一位乘法(Booth算法)

  1. 符号位参与运算,且运算中的数均以补码表示。
  2. 被乘数取双符号位乘数取单符号位
  3. 乘数末位增设附加位,初值为0
  4. 根据最低位和次低位的取值来确定操作,其中右移为算术右移。
最低位次低位操作
00部分积+0,右移一位
01部分积+[X]补,右移一位
10部分积+[-X]补,右移一位
11部分积+0,右移一位

原码除法运算(不恢复余数法)

  1. 商的符号由两个数的符号位异或而成。(不参与运算
  2. 先用被除数减去除数:
    1. 当余数为正时,商上1,余数和商左移1位,再减去除数;
    2. 当余数为负时,商上0,余数和商左移1位,再加上余数。(撤销操作)
  3. 当等第n+1步(机器字长为n+1)余数为负时,需加上|y|得到正确的余数。

余正商1左移减除,余负商0左移加除

注:最后一步要把商上完

补码除法运算(加减交替法)

  1. 符号位参与运算,除数,被除数,商和余数都是用补码表示。(双符号位
    1. 被除数与除数同号,则被除数-除数;
    2. 被除数与除数异号,则被除数+除数;
  2. 若余数与除数同号,则商上1,余数和商左移1位,减去除数;
  3. 若余数与除数异号,则商上0,余数和商左移1位,加上除数;
  4. 重复执行上两步操作n次(机器字长为n+1)

被除除同号相减,异号相加

余、除同号商1左移减除,异号商0左移加除

小结

机器字长为n+1时

  • 原码乘法:加减n次,移位n次
  • 补码乘法:加减n+1次,移位n次
  • 原码除法:加减n+1/n+2次,移位n次
  • 补码除法:加减n+1次,移位n次

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

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

相关文章

如何设置ChromeDriver路径?

设置ChromeDriver路径是为了让Selenium能够正确地调用Chrome浏览器进行自动化操作。以下是几种设置ChromeDriver路径的方法: 1. 系统环境变量 将ChromeDriver的路径添加到系统的环境变量中,这样在任何地方都可以直接调用ChromeDriver。 Windows系统&a…

数据挖掘:一、Weka软件的基本操作

实验目的和要求 了解Weka软件的使用 实验环境 Windows11 Weka3.8.6 实验内容与过程 实验内容 1、了解Weka使用的一般步骤 2、利用Weka,对数据集进行关联规则挖掘及数据分类 3、记录操作步骤、使用的数据、最终的结果 实验过程 首先打开weka下载官网,选择合适

【从零开始的LeetCode-算法】383. 赎金信

给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true ;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。 示例 1: 输入&#…

【第二十四周】从大语言模型到多模态大模型的发展

摘要 大语言模型(Large Language Model, LLM)是指一类基于深度学习的人工智能系统,它们被设计用来理解和生成自然语言。这些模型通常是在大量的文本数据上进行训练的,通过学习文本中的模式和结构,它们能够执行各种各样…

https ssl免费证书申请,自动续期,acme、certd

本文为个人笔记,方便自己需要时查阅,同时提供出来给大家作为免费ssl证书自动续签需求的一种参考 大部分免费证书的有效期仅有3个月,所以证书管理会涉及到自动续期管理的问题 一、acme证书 大佬们常用的证书证书申请管理方式,提…

uniapp的生命周期

在 UniApp 中,生命周期函数是指在组件(如页面、视图等)创建和销毁过程中会自动触发的一些函数。UniApp 提供了多种生命周期函数,帮助开发者在适当的时机进行相关的逻辑处理。 UniApp 的生命周期函数可以分为 页面生命周期 和 组件…

unity打包到安卓帧率降低

这个问题遇到过很多次了我的做法就是直接设置Application.targetFrameRate60 参考

【Vue】v-model、ref获取DOM

目录 v-moel v-model的原理 v-model用在组件标签上 方式 defineModel()简写 ref属性 获取原生DOM 获取组件实例 nextTick() v-moel v-model:双向数据绑定指令 数据变了,视图跟着变(数据驱动视图)视图变了,数…

Kubernetes 常用操作大全:全面掌握 K8s 基础与进阶命令

Kubernetes(简称 K8s)作为一种开源的容器编排工具,已经成为现代分布式系统中的标准。它的强大之处在于能够自动化应用程序的部署、扩展和管理。在使用 Kubernetes 的过程中,熟悉常用操作对于高效地管理集群资源至关重要。本文将详…

sqlmap --os-shell的原理(MySQL,MSSQL,PostgreSQL,Oracle,SQLite)

1. MySQL 条件 数据库用户需要具备高权限(如 FILE 权限)。数据库服务运行用户需要对目标目录有写权限。Web 服务器有可写目录,且支持执行上传的脚本(如 PHP、JSP 等)。 原理 利用 MySQL 的 SELECT ... INTO OUTFIL…

Springboot 2.x 升级到Springboot 2.7.x问题汇总

Springboot 2.x 升级到Springboot 2.7.x问题 Springboot 2.x 升级到Springboot 2.7.x问题汇总 不废话 上干货 改变 1.mysql依赖groupId和artifactId更改&#xff1b; <dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</…

【计算机网络】实验13:运输层端口

实验13 运输层端口 一、实验目的 本次实验旨在验证TCP和IP运输层端口号的作用&#xff0c;深入理解它们在网络通信中的重要性。通过实验&#xff0c;我将探讨端口号如何帮助区分不同的应用程序和服务&#xff0c;使得在同一台主机上能够同时运行多个网络服务而不发生冲突。此…

【Redis】Redis基础——Redis的安装及启动

一、初识Redis 1. 认识NoSQL 数据结构&#xff1a;对于SQL来说&#xff0c;表是有结构的&#xff0c;如字段约束、字段存储大小等。 关联性&#xff1a;SQL 的关联性体现在两张表之间可以通过外键&#xff0c;将两张表的数据关联查询出完整的数据。 查询方式&#xff1a; 2.…

vuex 是什么?怎么使用?哪种功能场景使用它?

Vuex是Vue.js的状态管理库。它可以用来管理应用程序中的共享状态&#xff0c;并提供了一种集中式的方式来管理状态的变化。 使用Vuex&#xff0c;首先需要安装它&#xff1a; npm install vuex --save然后&#xff0c;在Vue应用程序的入口文件中&#xff0c;导入Vuex并在Vue实…

ElK 8 收集 MySQL 慢查询日志并通过 ElastAlert2 告警至飞书

文章目录 1. 说明2. 启个 mysql3. 设置慢查询4. filebeat 设置5. 触发慢查询6. MySQL 告警至飞书 1. 说明 elk 版本&#xff1a;8.15.0 2. 启个 mysql docker-compose.yml 中 mysql&#xff1a; mysql:# restart: alwaysimage: mysql:8.0.27# ports:# - "3306:3306&q…

PyTorch基本使用-张量的索引操作

在操作张量时&#xff0c;经常要去获取某些元素进行处理或者修改操作&#xff0c;在这里需要了解torch中的索引操作。 准备数据&#xff1a; data torch.randint(0,10,[4,5]) print(data--->,data)输出结果&#xff1a; data---> tensor([[3, 9, 4, 0, 5],[7, 5, 9, …

【服务器监控】grafana+Prometheus+node exporter详细部署文档

我们在进行测试时&#xff0c;不可能一直手动看着服务器的性能消耗&#xff0c;这时候就需要有个工具替我们监控服务器的性能消耗。这里记录下grafanaPrometheusnodeExporter的组合用于监控服务器。 简单介绍&#xff1a; grafana&#xff1a;看板工具&#xff0c;所有采集的…

第十七章 使用 MariaDB 数据库管理系统

1. 数据库管理系统 数据库是指按照某些特定结构来存储数据资料的数据仓库。在当今这个大数据技术迅速崛起的年代&#xff0c;互联网上每天都会生成海量的数据信息&#xff0c;数据库技术也从最初只能存储简单的表格数据的单一集中存储模式&#xff0c;发展到了现如今存储海量…

Jenkins授权策略的配置

简介:在Jenkins中,通过系统管理下的“Manage and Assign Roles”以及“Manage Roles”来配置角色,是实现权限管理的关键步骤。以下是关于这两个功能配置角色时的意义及注意事项的详细解释: 一、配置角色的意义 实现权限控制: 通过创建和分配角色,可以精确地控制不同用户…

centos 7.9 安装jdk1.8 mysql redis等

环境&#xff1a; centos 7.9 1、安装OpenJDK 1.8 步骤 1: 更新系统 首先&#xff0c;确保你的系统是最新的&#xff0c;执行以下命令来更新所有软件包&#xff1a; sudo yum update -y步骤 2: 安装 OpenJDK 1.8 CentOS 7 默认的包管理器是 yum&#xff0c;你可以通过以下命…