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

Python028

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

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

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

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

int a=10, b, c

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

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

我想a应该是字符型吧?

char

a=2

那么a=00000010

(char

单字节)

对a取反

~a=11111101

因为char是无符号型。

那么对无符号数而言,11111101即是253

注意,取反是对整个数位取反,而不是对有效数位取反。