微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 取反后赋值会不会改变这个变量

取反后赋值会不会改变这个变量

时间:10-02 整理:3721RD 点击:
比如:用流水灯演示二进制累加过程时    ,                                                                                                
a=0;a++;P1=~a;此时a=?
本人新手求大神解释~~~~~

#include<reg52.h>  
#include <intrins.h>
#define uint unsigned int  
#define uchar unsigned char
void delay(uint z)
{                                       
        uint x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);       
}
void main()                  
{
        uchar a,i,j;
        while(1)      
        {
                for(j=0;j<2;j++)
                {
                        a=0xfe;     
                        for(i=0;i<8;i++)  
                        {
                                P1=a;      
                                delay(200);
                                a=_crol_(a,1);
                        }
                        a=0x7f;
                        for(i=0;i<8;i++)  
                        {
                                P1=a;     
                                delay(200);
                                a=_cror_(a,1);
                        }
                }
                P1=0xff;         
                for(j=0;j<10;j++)
                {
                        delay(300);
                        P1=~P1;                
                }
        }
}

当然不会变,a自加是会的,但取反是赋值给别的,没有改变的动力

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top