! :逻辑取反,凡是值不为0的,! 就等于0; 如果值为0,则 ! 的值为1
~ :按位取反, 即那些为0的位,结果是1,而那些为1的位,结果是0。
[c]
int a=2 ; // 用二进制表示为0b00 00 00 10;
!a = 0; //逻辑取反
~a = 0b11 11 11 01 //按位取反
[/c]
所以在做判断条件时,一定要用!(逻辑取反),以免出错!
! :逻辑取反,凡是值不为0的,! 就等于0; 如果值为0,则 ! 的值为1
~ :按位取反, 即那些为0的位,结果是1,而那些为1的位,结果是0。
[c]
int a=2 ; // 用二进制表示为0b00 00 00 10;
!a = 0; //逻辑取反
~a = 0b11 11 11 01 //按位取反
[/c]
所以在做判断条件时,一定要用!(逻辑取反),以免出错!