- 前言
- 一、介绍C语言中“!”符号
- 二、介绍C语言中“~”符号
- 总结
前言
通过代码来理解逻辑运算非“!”和取反符号“~”的不同之处。
一、介绍C语言中“!”符号
代码如下(示例):
#includeint main(void) { printf("当temp初值等于0n"); int temp=0; temp=!temp; printf("temp第一次逻辑非=%d n",temp); temp=!temp; printf("temp第二次逻辑非=%dn",temp); printf("*****************n"); printf("当temp1初值等于1n"); int temp1=1; temp1=!temp1; printf("temp1第一次逻辑非=%d n",temp1); temp1=!temp1; printf("temp1第二次逻辑非=%dn",temp1); return 0; }
结果如下:
二、介绍C语言中“~”符号 1.引入库代码如下(示例):
#includeint main(void) { printf("当flag初值等于0n"); int flag=0; flag=~flag; printf("flag取反第一次=%d n",flag); flag=~flag; printf("flag取反第二次=%dn",flag); printf("*****************n"); printf("当flag1初值等于1n"); int flag1=1; flag1=~flag1; printf("flag1取反第一次=%d n",flag1); flag1=~flag1; printf("flag1取反第二次=%dn",flag1); return 0; }
结果如下:
总结
!: 代表值逻辑非,对于整形变量,只要不为0,使用 ! 取非都是0,0取非就是1。就像 bool 只有真假一样。
~: 代表位的取反,对于整形变量,对每一个二进制位进行取反,0变1,1变0。



