!

逻辑非运算符

~

按位取反运算符

^

按位异或运算符

区别

!和~

!:逻辑取反,即:把非0的数值变为0,0变为1;
~:按位取反,即在数值的二进制表示方式上,将0变为1,将1变为0