zoukankan      html  css  js  c++  java
  • CF和OF的区别

    进位标志CF和溢出标志OF的区别:

    有符号数和无符号数只是认为的进行区分,计算机从来不区分有符号数和无符号数。对于运算的数来说,只要符合进位的情况,CF就置1.只要符合溢出的情况,OF就置1.但是后续的进行的一些数值判断等操作,无符号数多依据CF标志进行,有符号数多依据OF标志进行。如比较两个数的大小,无符号数根据CF标志进行,有符号数依据OF标志进行。

    •    计算机硬件判断溢出的方法如下:
        最高位有进位但次高位没有进位,或者最高位无进位但次高位有进位;也就是最高位和次高位一个有进位一个无进位。(最高位和次高位进位不一致的时候溢出)

    •    我们不是机器不使用这么机械的方法,可以使用如下规则(汇编教材第二版第19页):
        只有当两个相同符号数相加(含两个不同符号数相减),而运算结果的符号与原数据符号相反时,产生溢出。

    •    例如:3AH+7CH=00111010B+01111100B=10110110B=B6H
        次高位一个是0一个是1,但还有一个低位进位1,所以次高位有进位;最高位两个0,还有次高位进位,结果只是1没有进位,所以计算机判断有溢出。
        我们判断,看最高位,两个数最高位相同为0,相加后结果最高位为1,所以有溢出。

        再如:3AH+8DH,我们可以马上判断出没有溢出。因为这是两个不同符号数相加。

        利用调试程序可以帮助你验证。

        将数据按有符号数进行补码变换求出对应十进制真值,然后判断也可以,但比较麻烦,不如上述规则简单明了

    参考资料:

    http://www5.zzu.edu.cn/qwfw/ynjd/clqjg/4a44c05f3f5a870e013f6424857a043d.html

  • 相关阅读:
    Title提示样式修改
    列表查询数据交互简写形式
    cookie 一次性弹窗
    postman 使用 设置
    idea window mac安装
    在线校验格式化工具
    bootstrap下拉列表多选组件
    kaiguan
    5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
    对js里bind函数的理解
  • 原文地址:https://www.cnblogs.com/3me-linux/p/3989008.html
Copyright © 2011-2022 走看看