补码一位乘法原理(布斯编码详讲)

最近在看补码乘法的时候,感觉到很奇怪的一点,那就是补码的一位乘法,就是上网查了大量的资料都没有理解到它真正的原理,总感觉还是不会。那么,补码乘法的原理到底是什么呢?而让我们一直困惑的点是哪里呢?其实就是寄存器中多了一个辅助位,而这也恰恰是困惑了很多人的点,为什么要多一个辅助位,而又为什么每次部分积相加时,到底加什么,需要用辅助位和辅助位的前一位的差来判断呢?相信很多朋友在这里都有疑惑,那么,下面开始慢慢说来。

网上很多人都根据补码的表示公式,一步一步推导出来的,但是这个我没看明白,给大家说另外一种个人认为相对简单的方法。那就是布斯编码。我们看下面的例子,假如现在我要算的是11010000*01111110,而这个计算,如下图:

我们计算的时候,是根据上面的竖式来计算的,原理就不说了,乘数中每位分别乘被乘数,然后在相加,这样的话,我们又6个非0的部分积,也就是要加6次,但是,我们可以把01111110写成10000000-00000010,这样的话我们就可以把原式写为11010000*(10000000-00000010),探后根据乘法分配律,写为11010000*10000000-11010000*00000010,这样的话,由以前的6次部分积的相加变成了2次部分积的相加,提高了乘法的效率。而10000000-00000010,看下图:

我们不借位,我们直接写成-1,那么此时其实01111110=100000-10,所以11010000*01111110=11010000*100000-10。这种就是布斯编码,看下图:

而我们可以根据上图得知01对应1,11对应0,00对应0,10对应-1,所以我们就得知了为什么补码一位的乘法运算中,算部分积的时候,到底加什么是由辅助位和前一位的差来决定的,而连续两位对应重新编码后的一位,所以我们就必须在乘数的最后补一位辅助位,来辅助完成乘法运算,而补得这位辅助位是0,刚好应对我们刚开始计算的时候,辅助位是0.而这也恰恰说明了为什么补码一位的乘法运算都是双符号位,因为我们在存放乘数的寄存器中,加了一位辅助位,而根据CPU内部总线的特征,所以导致其余的寄存器也是和他的bit位数相同,所以采用了两位的符号位。

以上是个人理解,难免有错误,希望大家指出。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

零基础做项目---五子棋对战---day02

用户模块 完成注册登录,以及用户分数管理~使用数据库来保存上述用户信息. 使用 MyBatis来连接并操作数据库了 主要步骤: 1.修改 Spring的配置文件,使数据库可以被连接上. 2.创建实体类,用户, User 3.创建Mapper接口~ 4.实现MyBatis 的相关xml配置…

微软代码签名证书的申请流程包含哪几个关键步骤?

在软件开发环境中,确保软件的安全性和可信度至关重要。沃通CA提供的代码签名证书作为一种重要的安全措施,可以帮助开发者验证其软件的来源和完整性,有效地避免用户因安全顾虑而避免安装或使用软件。本文将详细介绍如何申请沃通CA代码签名证书…

类与对象-继承-同名成员处理

同名成员处理 #include<iostream> using namespace std;//继承中同名成员处理方式class Base { public:Base(){m_A 100;}void func(){cout << "Base - func()调用" << endl;}void func(int a){cout << "Base - func(int a)调用"…

AI编程工具:豆包 MarsCode 实测

MarsCode 官网&#xff1a;https://docs.marscode.cn/introduction 要提一嘴的是&#xff0c;区别其他 AI 编程助手&#xff0c;豆包 MarsCode 除了提供智能编程助手之外&#xff0c;还提供了一个 AI 原生的云端继承开发环境&#xff08;IDE&#xff09;。 实测下来&#xff…

GOLLIE : ANNOTATION GUIDELINES IMPROVE ZERO-SHOT INFORMATION-EXTRACTION

文章目录 题目摘要引言方法实验消融 题目 Gollie&#xff1a;注释指南改进零样本信息提取 论文地址&#xff1a;https://arxiv.org/abs/2310.03668 摘要 大型语言模型 (LLM) 与指令调优相结合&#xff0c;在泛化到未见过的任务时取得了重大进展。然而&#xff0c;它们在信息提…

高考后暑假新选择:从AI聊天机器人开发入门IT领域

你好&#xff0c;我是三桥君 七月来临&#xff0c;各省高考分数已揭榜完成。而高考的完结并不意味着学习的结束&#xff0c;而是新旅程的开始。对于有志于踏入IT领域的高考少年们&#xff0c;这个假期是开启探索IT世界的绝佳时机。 不知道这些有志于踏入IT领域的高考少年们&…

53-5 内网代理7 - CS上线不出网主机

靶场搭建: 这里就用之前内网代理的靶场,把web服务器这台虚拟机关闭掉,用剩下的3台加kali 各个虚拟机的网络情况 kali - 可以连接外网win2008(之前的FTP服务器) 可以连接外网 win 7(之前的办公电脑) 不出网主机 - 无法连接外网win2012 克隆机(之前的域控) - 无法连接…

AnimateLCM:高效生成连贯真实的视频

视频扩散模型因其能够生成连贯且高保真的视频而日益受到关注。然而&#xff0c;迭代去噪过程使得这类模型计算密集且耗时&#xff0c;限制了其应用范围。香港中文大学 MMLab、Avolution AI、上海人工智能实验室和商汤科技公司的研究团队提出了AnimateLCM&#xff0c;这是一种允…

32位版 C 库函数time 将在 2038 年溢出,那到时候,它该何去何从

简单地说&#xff0c;通常不必担心&#xff0c;在64位操作系统已经成为主流的今天这基本上不是问题&#xff08;在写这篇回答的时候&#xff0c;我才发现我甚至找不到32位的机器来测试&#xff09;刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「32库函数的…

240707-Sphinx配置Pydata-Sphinx-Theme

Step A. 最终效果 Step B. 为什么选择Pydata-Sphinx-Theme主题 Gallery of sites using this theme — PyData Theme 0.15.4 documentation Step 1. 创建并激活Conda环境 conda create -n rtd_pydata python3.10 conda activate rtd_pydataStep 2. 安装默认的工具包 pip in…

Day66 代码随想录打卡|回溯算法篇---分割回文串

题目&#xff08;leecode T131&#xff09;&#xff1a; 给你一个字符串 s&#xff0c;请你将 s 分割成一些子串&#xff0c;使每个子串都是 回文串。返回 s 所有可能的分割方案。 方法&#xff1a;本题是一个分割回文串的问题&#xff0c;是回溯算法的另一类问题。 针对一个字…

溶解氧(DO)理论指南(3)

转载自梅特勒官网资料&#xff0c;仅用于学习交流&#xff0c;侵权则删&#xff01; 溶解氧理论指南 设备操作3.1 DO电极准备3.2 DO电极校准3.3 进行DO测量3.4 转换单位3.5 维护和储存 设备操作 本章总结了 DO电极日常使用的一些建议。它们基于普遍接受的操作规则。 3.1 DO电…

如何在玩客云中安装小雅AList并实现使用手机平板远程连接听歌看电影

文章目录 前言1. 本地部署AList2. AList挂载网盘3. 部署小雅alist3.1 Token获取3.2 部署小雅3.3 挂载小雅alist到AList中 4. Cpolar内网穿透安装5. 创建公网地址6. 配置固定公网地址 前言 本文主要介绍如何在安装了CasaOS的玩客云主机中部署小雅AList&#xff0c;并在AList中挂…

构建高精度室内定位导航系统,从3DGIS到AI路径规划的全面解析

室内定位导航系统是一种利用多种技术实现室内精准定位和导航的智能系统&#xff0c;即便没有卫星信号&#xff0c;也能实现精准导航。维小帮室内定位导航系统是基于自研的地图引擎与先进定位技术&#xff0c;结合智能路径规划算法&#xff0c;解决了人们在大型复杂室内场所最后…

搜维尔科技:【研究】Scalefit是一款可在工作场所自动处理3D姿势分析结果的软件

Scalefit是一款可在工作场所自动处理 3D 姿势分析结果的软件。这甚至可以在衡量员工的同时发生。然后&#xff0c;Scalefit 根据国际标准对姿势、压缩力和关节力矩进行分析和可视化。 3D姿势分析 如今&#xff0c;Xsens 技术可让您快速测量工作场所员工的态度。一套带有 17 个…

【笔记】centos7虚拟机连接dbeaver数据库失败好多次折磨我三天三夜

终于在第四个方法连接上了 你知道这四天三夜我怎么过来的吗 真的好痛苦 一个问题延申了无数个问题到最后我都不记得自己在解决什么问题 Access denied for user xiaoming192.168.81.1 (using password: YES) Public Key Retrieval is not allowed &#xff08;一&#xff09;跳…

高中数学:立体几何-基本立体图形分类

一、常见空间几何体 二、多面体 1、棱柱 2、棱锥 3、棱台 4、相关关系 三、旋转体 1、圆柱 2、圆锥 3、圆台 4、球

新一代iPhone成传家宝,这升级给我看呆了

6 月刚过&#xff0c;数码圈就迎来了平淡期&#xff0c;虽然各家手机层出不穷&#xff0c;但也只是新瓶装旧酒&#xff0c;没啥新意。 翘首以盼的新机也得等到 9 月份才会遍地开花。 这其中让人备受期待的肯定有苹果的一票&#xff0c;而最近苹果新机的消息也渐渐浮出水面了。…

Linux之免费证书工具certbot安装和使用

一、cerbot简介 Certbot是一个免费的开源软件工具&#xff0c;用于在手动管理的网站上自动使用Let’s Encrypt证书以启用HTTPS。要想让自己的网站启用https协议&#xff0c;需要一个由CA&#xff08;数字证书认证机构&#xff09;颁发的&#xff0c;能够让各个浏览器都能承认的…

AIGC在创意设计中的应用

随着人工智能技术的不断进步&#xff0c;AIGC&#xff08;人工智能生成内容&#xff09;已成为创意设计领域的新宠。这种新兴技术以其强大的创作能力和高效的工作效率&#xff0c;正逐渐改变着设计师们的工作方式和创作流程。在这个变革的时代&#xff0c;设计师们纷纷拥抱AIGC…