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. 云知声: 基于 JuiceFS 的超算平台存储实践

    云知声从一家专注于语音及语言处理的技术公司,现在技术栈已经发展到具备图像.自然语言处理.信号等全栈式的 AI 能力,是国内头部人工智能独角兽企业.公司拥抱云计算,在智慧医疗.智慧酒店.智慧教育等方面都 ...

  2. 比Sqoop功能更加强大开源数据同步工具DataX实战

    @ 目录 概述 定义 与Sqoop对比 框架设计 支持插件 核心架构 核心优势 部署 基础环境 安装 从stream读取数据并打印到控制台 读取MySQL写入HDFS 读取HDFS写入MySQL 执行 ...

  3. Maven多模块管理

    项目的目录结构: 一.创建父工程的必须遵循以下两点: 1.packaging标签的文本内容必须设置为pom 1 <?xml version="1.0" encoding=&q ...

  4. 【转载】SQL SERVER 通过对汉字、字母和数字的Unicode码区间的判断来识别字符串

    A~Z :65~90 a~z :97~122 0-9 : 48-57   –汉字unicode编码范围:[0x4e00,0x9fa5](或十进制[19968,40869])   SELECT * FR ...

  5. [python] NetworkX实例

    文章目录 NetworkX实例 1. 基础Basic 2. 绘图Drawing 3. 图标Graph NetworkX实例 代码下载地址 NetworkX 2.4版本的通用示例性示例.本教程介绍了约定 ...

  6. [Unity]Update()与FixedUpdate()

    Update()介绍 首先我们从官方文档的介绍了解: MonoBehaviour.Update() Description Update is called every frame, if the M ...

  7. Axure 环境进度条

    步骤一:拖拉摆放好相关控件 1.4个半圆环,一个白色上半圆环 (上白),一个白色下半圆环 (下白),一个灰色上半圆环 (上灰),一个灰色下半圆环 (下灰),排放层次为: 下灰<下白<上灰& ...

  8. Ubuntu 安装播放器

    安装 VLC sudo snap install vlc snap 下载慢的看这里https://www.cnblogs.com/Ahtelek/p/ubuntu-snap.html

  9. 图文并茂--微信小程序,获取用户地理位置信息,并调用腾讯地图API来获取用户具体位置

    今天开始搞这个东西,下面是详细的记录 先看一下效果啦 1.小程序代码先获取用户基础位置信息 js data: { myLocation: 'GET LOCATION', }, openMap() { ...

  10. BC7-牛牛的字符矩形

    题目描述 牛牛尝试用键盘读入一个字符,然后在屏幕上显示用这个字符组成的 3*3 的矩形. 输入描述 一行读入一个 char 类型的字符. 输出描述 输出这个字符组成的 3*3 矩形. 示例 1 输入: ...