经过"!"运算后,运算结果只有0或1;而经过"~"运算后,结果有多种,取决于操作数。
下面通过实例来介绍这个运算符的使用方法:
int a=10, b, cb = !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