溢出OF和进位CF标志位的判定

溢出OF和进位CF标志位的判定一、学习CF与OF,要始终牢记一点。CF是无符号数溢出标志,OF是有符号数溢出标志。通俗一点说就是,即使有符号数相加/相减导致了CF=1也没什么意义,不能说明结果的正确与否。此时,OF=1,则说明结果溢出,出现错误;OF=0,说明结果正确。这个过程根本和CF没关系,CF=1/0,都不会影响。同理也可以得出OF对无符号数也无影响。举个例子:[9-6]补=[9]补-[6]补=[9]补+[-6]补[9]…

大家好,又见面了,我是你们的朋友全栈君。

一、学习CF与OF,要始终牢记一点。CF是无符号数溢出标志,OF是有符号数溢出标志。

通俗一点说就是,即使有符号数相加/相减导致了CF=1也没什么意义,不能说明结果的正确与否。此时,OF=1,

则说明结果溢出,出现错误;OF=0,说明结果正确。这个过程根本和CF没关系,CF=1/0,都不会影响。同理也

可以得出OF对无符号数也无影响。

举个例子:

[9-6]补=[9]补-[6]补=[9]补+[-6]补

[9]补-[6]补

                00001001

            –   00000110

            ——————

                 00000011

            此时,OF=0,CF=0

 

[9]补+[-6]补

              00001001

          +  11111010

           ——————

           1  00000011

           此时,OF=0,CF=1

大家可能已经发现了,通过公式将减法转换成加法,貌似不完全等价,因为CF不同。

其实不然,CF的值不影响结果,此时不论是加法还是减法都是有符号数。不论CF=1/0,只要OF=0,

结果都是正确的。当然,还有一点值得注意。毕竟CF在两种计算方法中取值不同,如果有条件跳转

指令的话,程序的执行可能会受到影响。

 

二、简单介绍下CF与OF的计算方法

1、CF的判断

①加法

十进制角度,如果两无符号数相加,结果大于2^n-1(n为位数),则CF=1,否则CF=0;

二进制角度,如果两无符号数相加,最高位向前有进位,则CF=1,否则CF=0。

②减法

十进制角度,如果两无符号数相减,减数大于被减数(也即结果不在0—2^n-1内),则CF=1,否则CF=0;

二进制角度,如果两无符号数相减,最高位向前游借位,则CF=1,否则CF=0。

2、OF的判断

①加法

十进制角度,如果两有符号数相加,结果不在-2^(n-1)~2^(n-1)-1内,则OF=1,否则OF=0;

二进制角度,如果两有符号数同号,而相加结果与之异号,则OF=1,否则OF=0。

②减法

十进制角度,如果有符号数相减结果在-2^(n-1)~2^(n-1)-1内,则OF=1,否则OF=0;

二进制角度,如果两个数异号,而相减结果与被减数符号相反,则OF=1,否则OF=0。

 

三、这里值得一提的是,在第二部分介绍的计算规则,说白了都是为了方便人的计算。而在计算机中,

CPU根本不知道参与运算的数是有符号的还是无符号的。它只是按照一定的指令、一定的规则来计算,

然后设置标志、运用标志。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158241.html原文链接:https://javaforall.net

(1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux常用命令菜鸟教程_初学者化妆必备用品清单

    linux常用命令菜鸟教程_初学者化妆必备用品清单一.学习Linux终端命令的原因1.Linux刚面世时并没有图形界面,所有的操作全靠命令完成,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等2.在职场中,大量的服务器维护工作都是在远程通过SSH客户端来完成的,并没有图形界面,所有的维护工作都需要通过命令来完成在职场中,作为后端程序员,必须要或多或少的掌握一些Linux常用的终端命令。3.Linux发行版本的命令大概有200多个,但是常用的命令只有10多个而已二.linux常用指令ls命令…

    2022年8月21日
    7
  • 哈佛的幸福课笔记

    哈佛的幸福课笔记觉得对本人而言有新信息的是第四课和第六课。第八课关于感恩,很好!(Tal和外婆的真实的故事,感人,几次热泪盈眶)。第10课关于改变当然很有用。第12、13课讨论关于建立自我和谐的目标和应对压力问题。哈佛的幸福课 http://v.163.com/special/positivepsychology/ (提醒:每课一个半小时) 第一课什么是积极心理学笔记:(简介)1、解读比

    2022年7月25日
    7
  • 卸载360企业版密码忘了_360杀毒软件卸载密码是多少

    卸载360企业版密码忘了_360杀毒软件卸载密码是多少方法如下:  一、在360安全卫士安装文件夹“默认安装在C:\ProgramFiles\360\360Safe”中,查找含有ent的文件。  二、使用360文件粉碎机或unlocker等等。删完后,就可以正常卸载了。(不行的话,还可以用系统光盘或者U盘,进入他们的PE系统,在PE系统中可以直接删除整个360safe文件夹。)三、原理…

    2022年9月24日
    4
  • gromacs 安装_分子模拟软件 gromacs 安装流程

    gromacs 安装_分子模拟软件 gromacs 安装流程分子模拟软件gromacs安装流程(1)tar-zxvffftw-3.1.2.tar.gztar–zxvfgromacs-3.3.1.tar.gztar-zxvflam-7.1.3.tar.gz(2)cdlam-7.1.3./configure–prefix=/home/lam-7.1.3–without-fc–with-rsh=”ssh-x”makemakeins…

    2022年5月26日
    80
  • mysql安装教程2005,SQL 2005怎么安装 SQL Server 2005安装图解教程

    mysql安装教程2005,SQL 2005怎么安装 SQL Server 2005安装图解教程很多朋友由于工作需要,要在电脑上安装SQLServer2005数据库软件。而SQLServer的安装还有点小麻烦的,因为其要开启Windows的IIS服务功能,并且安装设置步骤也比较多SQL2005怎么安装呢?今天百事网小编瑞特就来给大家讲一下SQLServer2005安装图解教程。SQL2005怎么安装SQLServer2005安装图解教程以下我们演示的是Win7系统下安装SQL…

    2025年7月31日
    5
  • 什么叫侧面指纹识别_又见侧面指纹,四大指纹识别技术,你会如何选择?「建议收藏」

    什么叫侧面指纹识别_又见侧面指纹,四大指纹识别技术,你会如何选择?「建议收藏」原标题:又见侧面指纹,四大指纹识别技术,你会如何选择?1.正面实体指纹系统关于最早搭载正面指纹识别技术的手机,估计大家都会说是苹果公司在2013年9月发布的iPhone5s。其实最早的应该是摩托罗拉公司。只是苹果公司的影响比较大,在iPhone5s之后,将这项技术推向了颠峰,引领了潮流。之后各大手机厂商也纷纷加入了这个行列,越来越多的指纹识别手机面世。得益于苹果手机传统的HOME键,刚好可…

    2022年6月29日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号