单片机的减法运算很危险

原创 2012年03月29日 14:54:21
  下面的式子中,如果SecondCnt<LastSecondCnt,那么它们减的差值将会是
一个负数,在单片机中,是没有负数的概念的,如果减得-60的话,如果是16位单片机,
实际上-60是被表示为FFC4,实际上是65476,那样的话,实际上就和我们原来的意思相反,

而应该用?:运算符判断一下,如果不够减,取0;

  应该改为if((cnt++ >= 5)||((SecondCnt>=LastSecondCnt?SecondCnt-LastSecondCnt:0+cnt)>6))



            if((cnt++ >= 5)||((SecondCnt-LastSecondCnt+cnt)>6))
            {
                RebootCar();
            }

基于proteus的51单片机仿真实例十八、用单片机端口演示数据的加法和减法运算结果

本系列文章讲述了基于proteus仿真的51单片机学习,内容全面,不仅讲解电路原理,还讲解了单片机c语言,实例丰富,内容全面。...

浮点加法、减法, 乘法、除法运算

浮点加法、减法运算     1.运算步骤     假设浮点数的阶码和尾数均用补码表示,在浮点加减运算时,为便于浮点数尾数的规格化处理和浮点数的溢出判断,阶码和尾数均采用双符号位表示。     ①对阶,...

稀疏矩阵的加法、减法、转置运算

一.问题描述 以三元组顺序表表示稀疏矩阵,实现两个矩阵相加、相减、转置运算,再以矩阵的形式将其结果输出。 二.实现提示 1. 首先应输入矩阵的行数和列数,并判别给出的两个矩阵的行、列数对于所要求...

浮点数减法运算

  • 2014年05月26日 15:37
  • 235B
  • 下载

用位运算实现加法和减法

用位运算实现加法和减法 位运算异或可以实现没有进位的加法,比如3+4.他们的二进制分别为 00000000 00000000 00000000 00000011 00000000 00...

线性代数·矩阵的加法减法乘法运算简单实现

#include #include typedef int Array_Size; typedef struct matrix{ Array_Size ** array; int line;...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:单片机的减法运算很危险
举报原因:
原因补充:

(最多只允许输入30个字)