C语言中取反运算符'"!"如何使用?

Python011

C语言中取反运算符'"!"如何使用?,第1张

运算符"!"是逻辑运算符;"~"才是按位取反运算符。

经过"!"运算后,运算结果只有0或1;而经过"~"运算后,结果有多种,取决于操作数。

下面通过实例来介绍这个运算符的使用方法:

int a=10, b, c

b = !a   // 运算后b=0,因为a不等于0(即为真),所以取非后等于0(为假)

c = ~a   // 运算后c=5,因为a的二进制位1010,按位取反后变为0101(即等于5)

c语言的逻辑运算包括与、或、非

按位取反使用运算符~

如0xff按位取反为~(0xff)

按位取反后的结果为0x00

需要注意的是,c语言中的逻辑运算&和&&是不同的

0xff&0xa0=0xa0

而0xff&&0xa0=1

一个运算符是按位操作

其返回值是按位操作的结果

两个运算符是逻辑表达式,其返回值只有0和1