电子发烧友网 > 控制/MCU > 正文

单片机中的CY与OV详细解析

2018年11月02日 16:15 次阅读

CY(Carry): 用于表示加法进算中的进位和减法运算中的借位,加法运算中有进位或减法运算中有借位则CY位置1,否则为0

OV: 表示运算过程中是否发生了溢出,若运算结果超过了8位二进制数所能表示数据的范围即有符号数-128~+127,则标志位置1。

单片机中的CY与OV详细解析

对无符号数的运算,判断只需CY即可,OV无作用。

对有符号数的运算,OV位是有用的。“OV位是C6位进位与C7位进位的异或”,说法对的(对51单片机而言),但不同的计算机说法不一

CY位是累加器的进位、借位标志。下文的叙述按16位机来举例说明,如果是8位机或其它字长,则可换一个例子,但道理相似。

对于无符号数的运算,CY位就可以表示其是否溢出。但如果是有符号数,则不能按CY标志来判断了。为此,设了另一个标志OV,其含义就是“假如是有符号数运算,是否出现了溢出”。

例如对于16位运算器,65534 + 3,(即二进制的1111111111111110 + 0000000000000011),

本该得65537,(即二进制的10000000000000001),但因为寄存器只有16位,最高位的那个1丢掉了(进入了CY标志)。结果寄存器中只剩下了1,(即二进制的0000000000000001)。

此时,我们可以说,16位的无符号数加法,65534+3溢出了,溢出后的答案成了1。

但是对于有符号整数,情况就不同了。有符号整数采用补码表示法。16位有符号整数不可能表示65534,此时如果机内二进制是1111111111111110,程序中认为它是-2,故:

机内的二进制的1111111111111110 + 0000000000000011,代表的是(-2) + 3。

请注意,此时的(-2)+3和上文的无符号数65534+3,在CPU的运算器硬件上完全相同,都是得到和为1,而CY标志也为1。

但是,有符号数(-2)+3=1并无溢出。故此时的CY标志不能代表它溢出了。

另外再举一例:

无符号数32763 + 8 = 32771,没有进位,CY标志为0。此时并不溢出。

但是,如果是有符号数32763 + 8,这就是溢出了,因为32773的二进制为1000000000000011,作为有符号数会被看成负数-32765。16位有符号数不可能表示32773的。

不管是有符号数还是无符号数,CPU的二进制运算器机器加、减操作是一样的,但其“溢出”的条件不同。

现在大多数的计算机中,如果是无符号数,都可以用CY标志来判断其是否溢出;而如果是有符号数,则需要用OV标志来判断其是否溢出。

至于OV标志在逻辑上又是根据什么产生的呢?则不同的计算机上有不同的实现方法,但效果都是一样。

这里介绍一种道理比较容易懂的方法:“双符号位法”。具体是:

作加、减法前,先将两个运算数都按照有符号数的规则扩充成17位。即:符号位是0的前面添一位0,符号位是1的前面添一位1。

然后按17位的机器加、减,得出17位的结果。

如果17位结果的高两位(即双符号位)不同,就置OV标志为1,否则,OV标志为零。

技术专区

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

有趣有料的资讯及技术干货

关注发烧友课堂

锁定最新课程活动及技术直播
收藏 人收藏
分享:

评论

相关推荐

单片机中的上下拉电阻有什么作用

上拉电阻就是将不确定的信号通过一个电阻拉到高电平,同时此电阻也起到一个限流作用,下拉就是下拉到低电平...

发表于 2018-11-02 16:22 0次阅读
单片机中的上下拉电阻有什么作用

基于STM32单片机的64Mbit单对单通信

简单的一种应用,ARM芯片作为master,flash为slaver,实现单对单通信。

发表于 2018-11-02 14:19 36次阅读
基于STM32单片机的64Mbit单对单通信

基于双超声波接收头的防撞小车系统

发表于 2018-11-02 10:47 19次阅读
基于双超声波接收头的防撞小车系统

基于近红外光电传感技术的溢油监测系统设计

发表于 2018-11-02 10:46 18次阅读
基于近红外光电传感技术的溢油监测系统设计

基于单片机的多气体分析电子嗅觉系统设计方案

发表于 2018-11-02 10:44 26次阅读
基于单片机的多气体分析电子嗅觉系统设计方案

传感器模块想采样到80%的信号有效幅值,请问ADC的采样速率至少为多少SPS?

发表于 2018-11-02 09:22 29次阅读
传感器模块想采样到80%的信号有效幅值,请问ADC的采样速率至少为多少SPS?

AVR系列单片机的主要特性及选型

AVR单片机是1997年由ATMEL公司研发 出的增强型内置Flash的RISC(Reduced I...

发表于 2018-11-02 09:20 75次阅读
AVR系列单片机的主要特性及选型

ADT7310读取数据波动较大

发表于 2018-11-02 09:05 23次阅读
ADT7310读取数据波动较大

单片机中的冷复位和热复位是什么意思

冷复位用英文来表示是Restart,热复位用英文来表示是Reset。

发表于 2018-11-01 16:25 72次阅读
单片机中的冷复位和热复位是什么意思

兼容PIC单片机—EN8F630 点火市场单片机芯片

发表于 2018-11-01 16:23 24次阅读
兼容PIC单片机—EN8F630 点火市场单片机芯片

单片机存储器的工作原理及选片与总线的概念解析

存储器就是用来存放数据的地方。它是利用电平的高低来存放数据的,也就是说,它存放的实际上是电平的高、低...

发表于 2018-11-01 16:15 48次阅读
单片机存储器的工作原理及选片与总线的概念解析

单片机程序开发中的单片机芯片中的定时器h及中断处理

发表于 2018-11-01 16:14 96次阅读
单片机程序开发中的单片机芯片中的定时器h及中断处理

请问STM32如何使用串口1配合DMA接收不定长数据,让CPU最大程度的减轻载荷

发表于 2018-11-01 15:20 170次阅读
请问STM32如何使用串口1配合DMA接收不定长数据,让CPU最大程度的减轻载荷

电机控制算法

发表于 2018-11-01 11:27 57次阅读
电机控制算法

AC220V/500W控制问题

发表于 2018-11-01 11:14 133次阅读
AC220V/500W控制问题

基于单片机的I2C和EEPROM连接

在实际的应用中,保存在单片机RAM中的数据,掉电后就丢失了,保存在单片机的FLASH 中的数据,又不...

发表于 2018-11-01 10:38 96次阅读
基于单片机的I2C和EEPROM连接

面对芯片及其相关的软件开发技术的快速发展变化如何...

单片机不是裸奔就是RTOS,其实玩过RTOS和linux的同学都知道,RTOS虽然也叫操作系统,但是...

发表于 2018-10-31 17:05 187次阅读
面对芯片及其相关的软件开发技术的快速发展变化如何...

单片机通用寄存器的分类及应用

通用寄存器可用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果。除此之外,它们还各自具有一些特...

发表于 2018-10-31 16:50 66次阅读
单片机通用寄存器的分类及应用

单片机为何不能直接驱动继电器

虽然这个问题对于电子老白来说不值一提,不过对于初学单片机的朋友,问这个问题的人实在是太多了,以前总是...

发表于 2018-10-31 16:23 190次阅读
单片机为何不能直接驱动继电器

如何实现单片机UART串行数据与CAN数据之间相...

GCAN-601模块是嵌入式单片机UART串口转CAN模块,可实现将UART串行数据与CAN数据之间...

发表于 2018-10-31 16:00 124次阅读
如何实现单片机UART串行数据与CAN数据之间相...

单片机硬件电路设计的七个原则分享

一个单片机硬件系统的硬件电路设计包含两部分内容:一是系统扩展,即单片机内部的功能单元,如ROM、RA...

发表于 2018-10-30 16:22 122次阅读
单片机硬件电路设计的七个原则分享

单片机实现利用中断复位的两种方式

如果想要实现利用中断复位,我所知道的有两种方式:看门狗中断和无中断服务程序的中断。

发表于 2018-10-30 15:55 151次阅读
单片机实现利用中断复位的两种方式

简单分析树莓派的优点与缺点

关于树莓派,想必从事嵌入式开发的开发者都有听过,树莓派原名为Raspberry Pi,也就是它的英文...

发表于 2018-10-30 15:08 82次阅读
简单分析树莓派的优点与缺点

Arduino/树莓派/单片机/arm区别分析

Arduino是一款由开源软件环境提供支撑的开源硬件原型平台。最早是意大利的一个团队的一个开源项目,...

发表于 2018-10-30 11:06 170次阅读
Arduino/树莓派/单片机/arm区别分析

浅谈树莓派与单片机的区别

树莓派指的是一款硬件开源的,树莓派是一个成品开发板,上面也有CPU、内存,但是它们都是以分立的芯片的...

发表于 2018-10-30 09:42 110次阅读
浅谈树莓派与单片机的区别

如何使用单片机中printf

1. 如c语言同:printf(“”);在控制台就会输出“”中的内容; 2. 通过串口输出:只...

发表于 2018-10-29 15:48 88次阅读
如何使用单片机中printf

远程代码执行漏洞现身运行内嵌式系统的流行操作系统

在主要用于智能家居及关键基础设施系统中的大部分微处理器与单片机的开源操作系统FreeRTOS中,已发...

发表于 2018-10-28 09:30 317次阅读
远程代码执行漏洞现身运行内嵌式系统的流行操作系统

STM32单片机如何超频工作超大约多少还能正常工...

根据微软学术的定义,所谓超频(OVERCLOCKING)就是强制将计算机或硬件运行于厂商指定的时钟频...

发表于 2018-10-28 09:26 289次阅读
STM32单片机如何超频工作超大约多少还能正常工...

基于单片机D/A输出程序编写分享

D/A 是和 A/D 刚好反方向的,一个 8 位的 D/A,从 0~255,代表了 0~2.55V ...

发表于 2018-10-26 16:03 100次阅读
基于单片机D/A输出程序编写分享

基于stm8s103k3单片机串口UART的正确...

我使用的是stm8s103k3,32脚单片机,这个使用手册上说了UART1,UART2,UART3。...

发表于 2018-10-26 15:43 64次阅读
基于stm8s103k3单片机串口UART的正确...

基于单片机在异形曲面在线检测系统中的应用设计

随着三维设计软件常利用对系统模拟优化分析、路况的反馈和理论的计算,能够设计出高水平曲面异形线和截面,...

发表于 2018-10-26 15:19 52次阅读
基于单片机在异形曲面在线检测系统中的应用设计

单片机中的定时器与计数器有何不同,二者的区别是什...

定时器实际上也是工作在计数方式下,只是计数的是固定周期的脉冲,由于脉冲周期固定,由计数值可以计算时间...

发表于 2018-10-26 14:58 85次阅读
单片机中的定时器与计数器有何不同,二者的区别是什...

网上单片机制作“2.4G频率计”方案之我见

注:本文是作者以前发表在其个人博客,现在发布到聚丰开发专栏 在网上看到有朋友发布一个单片机制作2.4...

发表于 2018-10-25 17:01 269次阅读
网上单片机制作“2.4G频率计”方案之我见

转学STM32的入门总结和学习步骤

大家可能是从51单片机过来的,回想一下,我们之前学单片机时如何入门呢?实际上都是先看书(理论),再玩...

发表于 2018-10-25 16:19 312次阅读
转学STM32的入门总结和学习步骤

基于单片机应用程序编写的七大步骤分享

接到一个单片机项目设计文件之后,并不是马上动手编写程序,而是仔细研究用户提出的技术要求或者技术说明,...

发表于 2018-10-25 15:37 87次阅读
基于单片机应用程序编写的七大步骤分享

基于单片机Stm32f103 DAC电流输出解决...

用的是64封装的芯, 此芯ADC的基准Vref+和电源是同一个端口,Vref-共用电源地。在电池输出...

发表于 2018-10-25 15:20 93次阅读
基于单片机Stm32f103 DAC电流输出解决...

基于单片机设计堆栈的基本概念解析

向上生长:向高地址方向生长,称为递增堆栈 向下生长:向低地址方向生长,称为递减堆栈

发表于 2018-10-25 15:16 44次阅读
基于单片机设计堆栈的基本概念解析

我被红外遥控闪了一下腰

发表于 2018-10-25 11:26 347次阅读
我被红外遥控闪了一下腰

基于KL16的指纹锁低功耗方案

ZLG基于数百厂家的需求共性,设计了基于NXP KL16的指纹锁方案,单触摸休眠状态下达到7.52u...

发表于 2018-10-25 10:26 363次阅读
基于KL16的指纹锁低功耗方案

学STM32对你来说有什么好处

STM32是32位的单片机却只要八位单片机的价格,速度也是八位的好几倍。

发表于 2018-10-25 09:06 1212次阅读
学STM32对你来说有什么好处

如何利用单片机来驱动继电器

注意:单片机的IO口驱动能力不够,加一片ULN2003来驱动继电器,一个ULN2003可以驱动7个继...

发表于 2018-10-24 16:02 149次阅读
如何利用单片机来驱动继电器

基于51单片机直流电机PWM调速程序

这是一款AT89C51单片机直流电机PWM调速程序,程序可以直接用于AT89C52、AT89S51、...

发表于 2018-10-24 15:56 290次阅读
基于51单片机直流电机PWM调速程序

打破思维定式——两种键盘扫描方法比较分析

发表于 2018-10-24 11:24 210次阅读
打破思维定式——两种键盘扫描方法比较分析

应广双核单片机应用提示

发表于 2018-10-24 11:24 174次阅读
应广双核单片机应用提示

用一条IO口实现两个按键功能

发表于 2018-10-24 11:24 202次阅读
用一条IO口实现两个按键功能

基于S3C6410裸机程序中可能用到的函数分享

*函数:voidSetEINT_TriggerMode(u8EINT0_N,u8Trigger) ...

发表于 2018-10-23 16:00 57次阅读
基于S3C6410裸机程序中可能用到的函数分享

基于LED图文显示屏控制系统的设计

LED显示屏系统组成 LED图文显示屏系统由软件控制系统、无线传输系统、设备主控制器、LED显示点阵...

发表于 2018-10-23 15:35 178次阅读
基于LED图文显示屏控制系统的设计

双核单片机之初体验--2

发表于 2018-10-23 10:08 206次阅读
双核单片机之初体验--2

双核单片机之初体验--1

注:本文是作者以前发表在其个人博客,现在 发布到 聚丰开发专栏 不 经意间,酷睿双核已经成为电脑CP...

发表于 2018-10-23 09:08 505次阅读
双核单片机之初体验--1

单片机的构成及功能特点解析

单片机是一种控制芯片,一个微型的计算机,而加上晶振,存储器,地址锁存器,逻辑门,七段译码器(显示器)...

发表于 2018-10-22 15:23 109次阅读
单片机的构成及功能特点解析

51单片机4种简单的扩展方法

MCS—51系列单片机内部只有两个外部中断源输入端,当外部中断源多于两个时,就必须进行扩展。

发表于 2018-10-22 10:37 352次阅读
51单片机4种简单的扩展方法

单片机的发展有哪几个阶段

单片机(Microcontrollers)诞生于1971年,早期的SCM单片机都是8位或4位的。其中...

发表于 2018-10-21 10:15 354次阅读
单片机的发展有哪几个阶段

单片机控制继电器原理是怎样的?

单片机是一个弱电器件,一般情况下它们大都工作在5V甚至更低.驱动电流在mA级以下.而要把它用于一些大...

发表于 2018-10-20 11:43 620次阅读
单片机控制继电器原理是怎样的?

详解单片机里面的中断优先级

在讲中断产生背景的时候,我们仅仅讲了看电视和烧水的例子,但是实际生活当中还有更复杂的,比如我正在看电...

发表于 2018-10-20 09:57 108次阅读
详解单片机里面的中断优先级

如何写出高效优美的单片机C语言代码

将比较慢的顺序查找法用较快的二分查找或乱序查找法代替,插入排序或冒泡排序法用快速排序、合并排序或根排...

发表于 2018-10-19 15:55 428次阅读
如何写出高效优美的单片机C语言代码

简介郭天祥及人物经历

郭天祥1983年出生于新疆伊宁,曾就读于哈尔滨工程大学,后接触单片机,已成为单片机领域的知名人士。名...

发表于 2018-10-19 08:32 176次阅读
简介郭天祥及人物经历

基于使用STM32F103单片机,实现64Mbi...

简单的一种应用,ARM芯片作为master,flash为slaver,实现单对单通信。ARM主控芯片...

发表于 2018-10-18 15:19 111次阅读
基于使用STM32F103单片机,实现64Mbi...

应广单片机系列——基本应用程序框架

发表于 2018-10-18 12:49 299次阅读
应广单片机系列——基本应用程序框架

基于单片机学习的条件和学习步骤简述

单片机是大专学校电类专业的一门普通课,有些学校甚至把它列为选修课,在众多课程中,没有显出它有多么重要...

发表于 2018-10-17 16:57 117次阅读
基于单片机学习的条件和学习步骤简述

基于单片机EEPROM解析

我们板子上使用的这个器件是 24C02,是一个容量大小是 2Kbits,也就是 256 个字节的 E...

发表于 2018-10-17 16:46 134次阅读
基于单片机EEPROM解析

做单片机的朋友你可千万先把电源弄好!

说一个我获得的教训,老板的一个朋友委托我们给他做一个小型控制器,因为要求的工期比较急,没时间做线路板...

发表于 2018-10-17 08:56 496次阅读
做单片机的朋友你可千万先把电源弄好!

应广单片机系列——高速I2C接口

发表于 2018-10-16 18:45 381次阅读
应广单片机系列——高速I2C接口

怎样通过UART进行标准IO?

在工程的ASF\sam\utils\syscalls\gcc\syscalls.c文件中,ASF已经...

发表于 2018-10-16 16:25 62次阅读
怎样通过UART进行标准IO?

基于单片机80C196KB和可编程逻辑器件EPM...

该系统中待采集显示电压信号共16路,动态电压范围为-22~+27 V。由于这些电压信号变化频率较低,...

发表于 2018-10-15 17:08 84次阅读
基于单片机80C196KB和可编程逻辑器件EPM...

单片机与PC串口通信的程序及电路图详解

单片机与pc串口通信程序及电路图

发表于 2018-10-14 10:28 565次阅读
单片机与PC串口通信的程序及电路图详解

中国的MCU正在逆袭的道路上走得越来越好

早期的微控制器是将一个计算机集成到一个芯片中,实现嵌入式应用,故称单片机。微处理器和单片机从上个世纪...

发表于 2018-10-13 11:22 397次阅读
中国的MCU正在逆袭的道路上走得越来越好

单片机晶振不起振的40个原因分析

单片机晶振不起振原因分析遇到单片机晶振不起振是常见现象,那么引起晶振不起振的原因有哪些呢?(1) P...

发表于 2018-10-12 16:06 211次阅读
单片机晶振不起振的40个原因分析

基于STM32定时器实现毫秒延时函数

STM32定时器包含基本定时器、通用定时器和高级定时器,其中TIM6和TIM7是STM32当中的基本...

发表于 2018-10-12 15:54 140次阅读
基于STM32定时器实现毫秒延时函数

基于高性能8位AVR® RISC CPU,其灵活...

贸泽电子 (Mouser Electronics) 即日起开始分销Microchip Technol...

发表于 2018-10-11 10:32 107次阅读
基于高性能8位AVR® RISC CPU,其灵活...

浅析基于51单片机嵌入式软件和硬件的同步仿真

这样就可以使用TFTP向Mini Web卡仿真系统传递网页文件,使用IE浏览Mini Web卡仿真系...

发表于 2018-10-11 09:12 550次阅读
浅析基于51单片机嵌入式软件和硬件的同步仿真