加法器以及标志位

news2024/11/18 9:16:36

加法器的结构:

OF(溢出标志位),SF(符号标志位),ZF(0标志位),ZF(进位/借位标志位)

有符号数看标志位:OF,SF

无符号数看标志位:CF

有符号数,无符号数的符号看:ZF

关于OF的判断

① 从逻辑上判断,直接将题目给的数进行相加,相减手算:如果正+正=负,负+负=正那么OF=1

② 对于双符号位,即最高位\oplus次高位=1,则OF=1

③ 看最高位与次高位的进位:Cn+Cn-1=1,则OF=1

关于SF的判断:看有符号数计算结果的最高位,最高位为1(负),SF=1,最高位为0,SF=0

关于ZF的判断:看结果是否为0

关于ZF的判断:看Cin\oplusCout,也就是看Sub\oplusCout

ZF仅对无符号数起作用,如果是减法,则表示借位,如果是加法,则表示进位。

这里的Sub在加法器中很关键:

加法时,Sub=0,减法时Sub=1

在加法中,结果用上图表示:X+Y+Sub=X+Y+0

在减法中,结果用上图表示:X+(-Y)+Sub=X+(-Y)+1,也就是我们常说的将[Y]补=[-Y]补,各位取反,末位加1

回来看这个式子:Cin\oplusCout=Sub\oplusCout

① 若是加法,则Sub=0,两个无符号数相加,结果溢出,则CF=1

② 若是减法,则Sub=1,两个无符号数相减,即X-Y=X+[-Y],若最高位的进位为0,则CF=1

注:无论是有符号数,还是无符号数,计算机是不知道的,所有的数都是通过同一个部件进行计算的,最后是正是负,结果是否溢出,都是都是人为的通过标志位的逻辑表达式或其计算的结果判断的。

接下来看看怎么通过逻辑表达式得到计算结果:

设A的符号为A_{s},B的符号为B_{s},运算结果的符号为S_{s}

OF:

对于加法运算 A+B→S,若 A、B为负,且S为正,则说明发生溢出;或者,若 A、B 为正,且S为负,也说明发生溢出。

正+正=负---A0 B0 S1

负+负=正---A1 B1 S0

表达式:\bar{A}\bar{B}S+AB\bar{S}

对于减法运算 A-B→S,若 A为负、B为正,且F为正,则说明发生溢出;或者,若 A为正、B为负,且F为负,也说明发生溢出。

正+正=正-(-正)=正-负=负---A0 B1 S1

负-(-负)=负-正=正---A1 B0 S0

表达式:\bar{A}BS+A\bar{B}\bar{S}

SF:看运算结果的符号即可,SF=S

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

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

相关文章

ubuntu 不用每次输入sudo的四种方式

在Ubuntu系统中,如果不希望每次执行需要管理员权限的命令时都输入sudo,有几种方法可以实现这一目标。以下是一些详细的方法: 第一种方式: 切换root用户 (如果你有足够的权限) # 修改root密码命令(没有设置的用户需要设置一下) consolaadmin…

面试中顺序表常考的十大题目解析

在数据结构与算法的面试中,顺序表是一个常见的考点。它作为一种基础的数据结构,涵盖了多种操作和概念,以下将详细介绍面试中关于顺序表常考的十大题目。 💝💝💝如果你对顺序表的概念与理解还存在疑惑&#…

【Threejs进阶教程-着色器篇】8. Shadertoy如何使用到Threejs-基础版

【Threejs进阶教程-着色器篇】8. Shadertoy如何使用到Threejs - 基础版 前七篇地址,建议按顺序学习致谢带我入门的[X01动力装甲]大佬本文适用范围怎么样在Shadertoy中画出正圆形shadertoy中的坐标系比例转换理解Shadertoy的fragCoord理解Shadertoy中的iResolution 转移Shaderto…

SigmaStudio淡入淡出增益控件(Single SW slew vol(adjustable))延时分析

斜率范围1~23,参考12khz正弦波(-17.99db,调减15.2db)作为分析依据 一、淡入时间与斜率关系 斜率1-----淡入延时时间大概0.08毫秒 斜率2—淡入延时时间大概0.2毫秒 斜率3–淡入延时时间按大概0.5毫秒 斜率4–淡入延时时间大概1毫秒 斜率5–淡…

C++学习笔记之结构体

C学习笔记之结构体 https://www.runoob.com/cplusplus/cpp-struct.html 结构体是C中一种由用户自定义的数据类型,允许存储不同类型的数据项 1、定义结构体 使用struct语句定义结构体 结构体与C中的类看起来结构相似,同样是可以在其中定义成员变量和成员…

picgo + typora + gitee图床

Picgo打造个人图床,稳定又安全 解决Typora笔记上传到CSDN图片无法显示的问题 typora中

完全二叉树的节点个数 C++ 简单问题

完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。 示例 1&#xff…

蓝桥杯—STM32G431RBT6(RTC时钟获取时间和日期)

一、RTC是什么,有什么用? 在 STM32 中,RTC(Real-Time Clock,实时时钟)主要有以下作用: 时间保持:即使在系统断电情况下,也能持续记录时间。(需要纽扣电池供电…

解决银河麒麟V10密码过期无法登录的问题

解决银河麒麟V10密码过期无法登录的问题 1、问题描述2、 解决方法步骤一:更改密码步骤二:调整密码策略(可选) 3、总结 💖The Begin💖点点关注,收藏不迷路💖 在使用银河麒麟桌面操作系…

Java:选择排序

目录 直接选择排序 堆排序 基本思想: 每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 直接选择排序 思路1: 在元素集合array[i]--array[n-1]中选择关键码最大(小…

【论文阅读】视觉里程计攻击

Adversary is on the Road: Attacks on Visual SLAM using Unnoticeable Adversarial Patch 一、视觉SLAM的不安全因素 根据论文的分析,视觉SLAM由于完全依赖于特征,缺少验证机制导致算法不安全。前端在受到干扰的情况下,会导致误匹配增加&…

算法工程师重生之第十八天(修剪二叉搜索树 将有序数组转换为二叉搜索树 把二叉搜索树转换为累加树 总结篇 )

参考文献 代码随想录 一、修剪二叉搜索树 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即,如果没有被移除…

【Sentinel-2简介】

Sentinel-2简介 Sentinel-2是欧洲空间局(European Space Agency, ESA)全球环境和安全监视(即哥白尼计划)系列卫星的重要组成部分,由Sentinel-2A和Sentinel-2B两颗卫星组成。以下是关于Sentinel-2的详细介绍&#xff1…

信息安全工程师(27)环境安全分析与防护

前言 环境安全分析与防护是一个综合性的议题,涉及多个方面,包括环境安全的概念、分析方法、存在的安全隐患以及相应的防护措施。 一、环境安全的概念 环境安全是指人类赖以生存发展的环境,处于一种不受污染和破坏的安全状态,或者说…

828华为云征文 | 华为云X实例CPU性能测试详解与优化策略

目录 引言 1. 测试环境搭建 1.1 测试实例的选择 1.2 CPU性能测试工具介绍 1.3 安装和配置Sysbench 2. CPU性能测试方法 2.1 测试场景设定 2.2 Sysbench单线程CPU性能测试 2.3 Sysbench多线程CPU性能测试(4线程) 2.4 高强度多线程CPU性能测试&a…

【QT 开发日志】QT 基础控件详解:按钮、文本框与标签的使用

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 博主简介 博主致力于嵌入式、Python、人工智能、C/C领域和各种前沿技术的优质博客分享,用最优质的内容带来最舒适的…

努比亚 Z17 NX563J Root 教程三方REC刷写工具教程

教程:1,自用成功 正常链接列表 adb devices 检查fastboot链接列表 fastboot devices 解锁设备fastboot oem nubia_unlock NUBIA_NX563J 我用的解锁设备是:fastboot flashing unlock 1.打开开发者选项。将OEM解锁的按钮打开 2.下载附件努…

【刷点笔试面试题试试水】不使用任何中间变量如何将a、b的值进行交换?

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: #include <iostream> using namespace std;void swap1(int&am…

Cpp::STL—string类的使用与理解(下)(9)

文章目录 前言一、string类对象的修改operator (重点)assigninserterasereplacec_str 二、string类对象的查找findrfindsubstr 三、string类非成员函数operatorrelational operatorgetline 四、VS和g下string结构说明vs下string的结构g下string结构 总结 前言 我认为要想详尽认…

Json 在线可视化工具,分享几个

文章目录 1.json.cn2.json4u.cn3.jsonvisual.com4.jsoncrack5.altearius.github.io6.json.wanvb.com 前序&#xff1a;本文是对多种 Json 在线可视化工具 的介绍、分享。Json官网 https://www.json.org/json-en.html 个人比较中意第四款&#xff1a; https://jsoncrack.com/ed…