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
CF和OF的区别的更多相关文章
- hbase开发实例
1.put/checkAndPut package com.testdata; import java.io.IOException; import org.apache.hadoop.conf.Co ...
- Oracle数据库基本语句练习
以ORACLE数据库为主提纲:第一部分.SQL语言基础 第一章:Oracle命令类别及sql简单语法介绍第二章:oracle的基本函数第三章:oracle的数据类型第四章:多表连接技术 第二部分.or ...
- PBN转弯保护区作图回顾
假期的最后一天,是该小结一下的时候了. 风螺旋有了自己中式风格的Logo,大家是否喜欢? 过去的春节假期,我们从学习CAD入手,回顾了风螺旋在PBN中的多种情况,画了很多的图,写了不少的文字,或许现在 ...
- 基于Java的打包jar、war、ear包的作用与区别详解
本篇文章,小编为大家介绍,基于Java的打包jar.war.ear包的作用与区别详解.需要的朋友参考下 以最终客户的角度来看,JAR文件就是一种封装,他们不需要知道jar文件中有多少个.cla ...
- UTF-8 Unicode ANSI网页编码的区别
1.ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte).也 ...
- SurfaceView, TextureView, SurfaceTexture等的区别
SurfaceView, GLSurfaceView, SurfaceTexture以及TextureView是Android当中名字比较绕,关系又比较密切的几个类.本文基于Android 5.0(L ...
- Activity中与ListActivity中使用listview区别
Activity中与ListActivity中使用listview区别 一.Activity中与ListActivity中使用listview区别(本身没多大区别,只是ListActivity在lis ...
- 【转】 JAR、WAR、EAR的使用和区别
Jar.war.EAR.在文件结构上,三者并没有什么不同,它们都采用zip或jar档案文件压缩格式.但是它们的使用目的有所区别: Jar文件(扩展名为. Jar,Java Application Ar ...
- xml 和 json 的区别
JSON(Javascript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于Javascript Programming Langu ...
随机推荐
- 算法——二分法实现sqrt
public class Solution { public double mySqrt(double n, double accuracy) { double mid = n/2.0; double ...
- Python 字符串Ⅱ
Python 字符串格式化 Python 支持格式化字符串的输出 .尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中. 在 Python 中,字符 ...
- 目标检测 | OHEM
参考:https://blog.csdn.net/app_12062011/article/details/77945600 参考:http://www.cnblogs.com/sddai/p/102 ...
- 字典,set
字典 dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度 存取速度快 key-value存储方式,在放进去的时候,必须根据key算出v ...
- Android图片优化指南
图片作为内存消耗大户,一直是开发人员尝试优化的重点对象.Bitmap的内存从3.0以前的位于native,到后来改成jvm,再到8.0又改回到native.fresco花费很多精力在5.0系统之前把B ...
- JPA学习(二、JPA_基本注解)
框架学习之JPA(二) JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中 ...
- CF452E Three strings 广义后缀自动机
建一个广义后缀自动机统计一下就行,好长时间不敲后缀自动机调了半天~ #include <bits/stdc++.h> using namespace std; namespace IO { ...
- Spring Boot教程(一)在springboot中用redis实现消息队列
环境依赖 创建一个新的springboot工程,在其pom文件,加入spring-boot-starter-data-redis依赖: <dependency> <groupId&g ...
- 多线程之Tread类和Runnable的区别
一.run()方法和start()方法的区别 在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口:Thread类是在java.lang包中定义的.一个类只要继 ...
- 自动化应用一键部署卸载&持续构建测试与交付
1.代码仓库:版本控制Gitlab Gitlab后台管理开发视角Gitlab的应用运维视角Gitlab的应用Gitlab本地使用 2.批量部署交付工具:Ansible Ansible虚拟环境构建Ans ...