请问,在80x86汇编中提到的溢出标志和进位标志,这两者有什么区别啊??搞不明白啊

上传的附件
你的回答被采纳后将获得: 8点积分 (将会扣除手续费1点积分。)

keyboard_arrow_left上一篇 : 在C语言或者C++中,如何旋转一张图片呢?? 求在VS2010或其他版本和Opencv中能够运行的疲劳驾驶检测系统源代码资源 重谢!!!! : 下一篇keyboard_arrow_right

7个回答

Tattoo
2019-02-25 09:18:23

汇编中,溢出标志和进位标志有什么区别??

miruos
2019-02-25 17:45:05

顾名思义~ 一个是溢出啊,一个是进位啊

Benjamin
2019-02-26 10:07:21

溢出标志是OF,表示有符号数运算结果是否超出范围,运算结果已经不正确
进位标志是CF,表示无符号数运算结果是否超出范围,运算结果仍然正确

Viewer
2019-02-26 12:31:57

溢出是针对有符号数来说的,无符号数没有溢出问题,溢出标志OF和进位标志CF是两个意义不同的标志:

  • 进位标志表示的是无符号数运算结果是否超出范围,但运算结果仍然正确

  • 而溢出标志表示的是有符号数运算结果是否超出范围,运算结果已经不正确

primadonna
2019-02-27 09:08:56

一个用来标志溢出的,就是超过值的的表示范围了;一个用来标志进位的,表示有进位!
你是不明白什么啊?

Badguy
2019-04-10 11:19:24

一个溢出,一个是进位啊

coldplay
2019-05-05 15:02:12

因为有符号数和无符号数的情况处理不一样,需要有溢出和进位两个标志配合才能区分. 以8位二进制为例,有符号数,最高位7位为符号位,第6-0位的数据溢出时是到溢到符号位的,而符号位再有溢出才会置进位,;对无符号数,你还要看进位位,不用关心溢出位.

精彩评论

  • 已经有malloc/free了,C++中为什么还需要new/delete
    由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于malloc/free。因此C++语言需要一个能完成动态内存分配和初始化工作的运算符new,以一个能完成清理与释放内存工作的运算符delete。注意new/delete不是库函数!
    2019-03-01 09:42:53 thumb_up( 8 )
  • [数据结构与算法]时间复杂度是怎么算的?
    求解算法的时间复杂度的具体步骤是: 找出算法中的基本语句;算法中执行次数最多的那条语句就是基本语句,通常是最内层循环的循环体。 计算基本语句的执行次数的数量级;只需计算基本语句执行次数的数量级,这就意味着只要保证基本语句执行次数的函数中的最高次幂正确即可,可以忽略所有低次幂和最高次幂的系数。这样能够简化算法分析,并且使注意力集中在最重要的一点上:增长率。 用大Ο记号表示算法的时间性能。将基本语句执行次数的数量级放入大Ο记号中。 如果算法中包含嵌套的循环,则基本语句通常是最内层的循环体,如果算法中包含并列的循环,则将并列循环的时间复杂度相加。例如: for (i=1; i<=n; i++) x++;for (i=1; i<=n; i++) for (j=1; j<=n; j++) x++; 第一个for循环的时间复杂度为Ο(n),第二个for循环的时间复杂度为Ο(n2),则整个算法的时间复杂度为Ο(n+n2)=Ο(n2)。
    2019-01-30 10:04:15 thumb_up( 6 )
  • 可以问一下站内那个基于Java的办公自动化系统怎么导入与运行吗
    你是用什么软件开发Java程序?我学生用的是eclipse软件如果你是用eclipse的话:1.file中找到import(鼠标右键也可以找到)2.点击Existing Project into Workspace3.在select root directory右边点击Browse4.查找需要导入的工程文件就行了
    2020-03-09 13:30:36 thumb_up( 2 )
  • qt售卖信息表的查询和自动更新
    像这类与数据库打交道的系统程序,本质上就是执行SQL语句。所以,你先检查自己写的SQL语句是否都正确,检查的方法可以是直接在数据库中执行自己的SQL语句,看看是否达到预期效果;如果SQL语句有问题,那就修改SQL语句,改正确就行;若SQL语句没问题,那就是你的程序调用执行SQL语句有问题,那么检查自己程序的SQL语句调用函数使用是否正确,参数是否都填写正确了!
    2019-06-17 10:28:36 thumb_up( 4 )
eject