1、OF与CF概述

  1. OF(Overflow Flag,溢出标志位):有符号数之间加减运算的溢出标志
  2. CF(Carry Flag,进位标志位):无符号数之间加减运算的溢出标志
  3. 快速判断(加法)(减法可转换为加法) 
    • 有符号数的符号位进位和最高位进位不同时,OF=1,否则OF=0(记忆:0+0必然不溢出,此时符号位和最高位的进位相同,均为0)
    • 无符号数的最高位进位为1时,CF=1,否则CF=0
    • 对有符号数而言,
      • 同号相减,不溢出,OF=0
      • 异号相加,不溢出,OF=0
    • 对无符号数而言,
      • 大减小,不溢出,CF=0
      • 小减大,溢出,CF=1
  4. 注意
    • 二进制数的加减运算会导致OF和CF变化

      • 原因:整数的加减运算没有本质上的不同,都是二进制数字间进行加减运算
      • 虽然说OF是与有符号数有关,但无符号数进行运算时,OF也会被改变,但此时OF无意义,没人在乎他
      • 同理,有符号数运算时,CF也会相应发生变化,我们也不关心CF的变化
  5. 小tips
    • 减法转换为加法,直接用二进制算,从而可方便地判断溢出:[x]-[y]=[x]+[-y]

2、OF

  1. 加法判断

    • 异号数相加,必然不溢出,OF=0
    • 十进制:两有符号数相加,结果溢出,则OF=1,否则OF=0
      • 溢出:结果超过该数据类型的表示范围,一般为-2n-1~2n-1-1,n为有符号整数的位数
    • 二进制:同号有符号数相加,若结果与它们符号不同,则OF=1,否则OF=0
  2. 减法判断
    • 同号数相减,必不溢出 
    • 十进制:若有符号数相减,结果溢出,则OF=1,否则OF=0
      • 溢出:结果超过该数据类型的表示范围,一般为-2n-1~2n-1-1,n为有符号整数的位数
    • 二进制:异号有符号数相减,结果与被减数符号不同,则OF=1,否则OF=0

3、CF

  1. 加法判断

    • 十进制:两无符号数相加,结果溢出,则CF=1,否则CF=0

      • 溢出:结果超过该数据类型的表示范围,一般为0~2n-1,n为无符号整数的位数
    • 二进制:无符号数的最高位进位为1时,CF=1,否则CF=0
  2. 减法判断
    • 十进制:两无符号数相减,结果溢出,则CF=1,否则CF=0

      • 溢出:结果超过该数据类型的表示范围,一般为0~2n-1,n为无符号整数的位数
      • 简化判断:被减数小于减数字,如6-9,溢出
    • 二进制:两无符号数字相减,最高位发生借位,则CF=1,否则CF=0

溢出标志位OF与进位标志位CF判断的更多相关文章

  1. 对所有CPU寄存器的简述(16位CPU14个,32位CPU16个)

    32位CPU所含有的寄存器有:4个数据寄存器(EAX.EBX.ECX和EDX)2个变址和指针寄存器(ESI和EDI)2个指针寄存器(ESP和EBP)6个段寄存器(ES.CS.SS.DS.FS和GS)1 ...

  2. PIC单片机状态寄存器中的C(进位/借位位标志)

    查阅PIC单片机芯片手册,关于进位/借位位的说明为: C:进位/借位位. 1 = 结果的最高位发生了进位 0 = 结果的最高位未发生进位 同时有一条标注:借位的极性是相反的. 通过以上说明,可以将C的 ...

  3. 传输层的端口与TCP标志中的URG和PSH位

    一.协议端口号的提出 运输层提供了进程间通信的能力(即端-端通信).但是不同的操作系统可能无法识别其他机器上的进程.为了用统一的方法对 TCP/IP体系的应用进程进行标志,使运行不同操作系统的计算机的 ...

  4. Leetcode2--->链表中对应位相加(进位)

    题目: 给定两个单链表,单链表中的数都是非负数.链表中的数字都是反向存储的,,每个节点都是个位数,将链表对应的位相加,返回最终的结果: 举例: Input: (2 -> 4 -> 3) + ...

  5. 64位系统上运行32位程序能否申请到8G内存?

    申请不到,因为64为系统在运行32位程序的时候只是为了向下兼容而已,对于32位程序来讲,申请8G的存储空间没有任何意义,因为32位的程序最大寻址空间只有4G,32位程序在编译之后的机器代码也只有32位 ...

  6. VS2010在64位系统中连接64位Oracle出现的问题和解决方法

    C#使用System.Data.OracleClient连接Oracle数据库.我的是window7/64位系统,装了一个64位的oralce 11G r2 客户端是64位的 用VS10调试错误信息如 ...

  7. 在64位Windows7上安装64位Oracle11g

    我一直在用Oracle10g数据库,最近想看看11g怎么样,就试着装了一下,在安装过程中遇到的麻烦还不少,幸好有搜索引擎,根据前辈的指点,磕磕绊绊地也将Oracle装上了,作一下记录,以后也许能用得着 ...

  8. 如何在64位windows7上同时使用32位和64位的Eclipse

    我用的是64位的windows7旗舰版,jdk1.7 64位机器上可以同时运行32位和64位的Eclipse,但是电脑中必须有相应的jdk.Eclipse虽然不需要安装,但是在启动时会检查系统中固定文 ...

  9. CLR调试报错“Visual Studio远程调试监视器 (MSVSMON.EXE) 的 64 位版本无法调试 32 位进程或 32 位转储。请改用 32 位版本”的解决

    Win7 64位电脑上进行visual studio的数据库项目的CLR存储过程进行调试时,报错: ---------------------------Microsoft Visual Studio ...

  10. 64位系统下注册32位dll文件

    64位系统下注册32位dll文件 在64位系统里注册32位软件所需的一些dll会提示不兼容,大概因为32 位进程不能加载64位Dll,64位进程也不可以加载32的导致. 若要支持的32 位和64 位C ...

随机推荐

  1. 异构混排在vivo互联网的技术实践

    作者:vivo 互联网算法团队- Shen Jiyi 本文根据沈技毅老师在"2022 vivo开发者大会"现场演讲内容整理而成. 混排层负责将多个异构队列的结果如广告.游戏.自然量 ...

  2. 一篇文章教你实战Docker容器数据卷

    在上一篇中,咱们对Docker中的容器数据卷做了介绍.已经知道了容器数据卷是什么?能干什么用.那么本篇咱们就来实战容器数据卷,Docker容器数据卷案例主要做以下三个案例 1:宿主机(也就是Docke ...

  3. Windows 安装 Zookeeper 详细步骤

    Windows 安装 Zookeeper 详细步骤 一. Zookeeper 安装包下载 1.官网地址 Zookeeper官网 2.安装包下载 这里选择目前的稳定版 3.6.3 下载 可以看到有两个选 ...

  4. RequestMappingHandlerMapping请求地址映射流程!

    上篇文章里,我们讲解了RequestMappingHandlerMapping请求地址映射的初始化流程,理解了@Controller和@RequestMapping是如何被加载到缓存中的. 今天我们来 ...

  5. python实验报告(第11章)

    实验11:使用Python操作数据库 一.实验目的和要求 1.学会数据库编程接口: 2.学会使用SQLite: 3.学会使用MySQL. 二.实验环境 软件版本:Python 3.10 64_bit ...

  6. 一文了解 Dubbo 3 配置工作原理

    以下是一个 Dubbo 属性配置的例子 dubbo-spring-boot-samples ## application.properties # Spring boot application sp ...

  7. DVWA靶场实战(一)——Brute Force

    DVWA靶场实战(一) 一.Brute Force: 1.漏洞原理: Brute Force是暴力破解的意思,大致原理就是利用穷举法,穷举出所有可能的密码. 2.攻击方法: Burpsuite中的In ...

  8. [cocos2d-x]TextureCache和spriteFramecache

    SpriteFrameCache 主要服务于多张碎图合并出来的纹理图片.这种纹理在一张大图中包含了多张小图,直接通过TextureCache引用会有诸多不便,因而衍生出来精灵框帧的处理方式,即把截取好 ...

  9. P4711 「化学」相对分子质量 代码

    #include <bits/stdc++.h> using namespace std; double ret=0; namespace StringUtils { pair<st ...

  10. csrf跨站请求伪造、csrf校验策略、csrf相关装饰器、auth认证模块、auth认证相关模块及操作、扩展auth_user表

    今日内容 csrf跨站请求伪造 钓鱼网站:模仿一个正规的网站 让用户在该网站上做操作 但是操作的结果会影响到用户正常的网站账户,但是其中有一些猫腻 eg:英语四六级考试需要网上先缴费,但是你会发现卡里 ...