单片机C语言里的取反怎么用?

比如
uint i;
i=0;
i=~i; //取反是这么用嘛?还是直接写~i;??

1、首先打开桌面上的keil软件,在进行对51单片机进行编程时最常用的就是keil软件。

2、然后编写相应的代码。

3、在编写完成以后,要进行编译,确保程序没有错误。同时生成HEX文件,并进行保存。

4、打开烧写软件(也可以使用STC的)。点击【打开文件】,寻找刚刚编写的程序。

5、找到相应的文件夹以后,寻找HEX文件。找到程序以后,将单片机连接到电脑,并点击程序下载,将程序烧写进单片机。

6、程序下载进单片机以后就能够看到八个led点亮了前面三个。

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-06-25

1、首先打开桌面上的keil软件,在进行对51单片机进行编程。

2、编写相应的代码:#include<reg52.h>    //定义单片机的头文件sbit led=P2^0;           //定义单片机的管脚,void main(void)         //主函数{    while(1)                 //无限循环     {    led=0x1f;         //点亮前面三个灯。这里是十六进制的换算。

3、在编写完成以后,要进行编译,确保程序没有错误。同时生成HEX文件,并进行保存。 

4、找到相应的文件夹以后,寻找HEX文件。这是所能烧写软件识别的程序。

5、找到程序以后,将单片机连接到电脑,并点击程序下载,将程序烧写进单片机。

6、程序下载进单片机以后就能够看到八个led点亮了前面三个。

本回答被网友采纳
第2个回答  推荐于2017-09-20

C语言中取反运算符是“~” , “~”是一元运算符,用来对一个二进制整数按位取反,即将0变1,将1变0。


1、"~"运算符可以对整型常量直接操作,比如

int a = ~0 - 1; //在单片机编程中经常看到这样的代码。

2、"~"运算符也可以操作变量

int a = 2;
int b = ~a; 
a = ~a;  //因为~运算是一元运算符,所以没有复合赋值运算。

第3个回答  2013-09-09
可以用,但是不推荐。
最好用
i = (1 << 32) - i;追问

WHY?

追答

sorry,刚才看了一下,这个是求补的,求反的是
i = 0xFFFFFFFF - i
里面的0xFFFFFFF也是宏定义好的。
呵呵,看起来越发复杂了,你还是直接用~i 吧

第4个回答  2013-09-09
i=~i;您这样是对的;本回答被提问者采纳
相似回答