c语言中!与~有什么区别?
时间:09-06 10:05 阅读:1479次
*温馨提示:点击图片可以放大观看高清大图
简介:本文介绍了C语言中!和~之间的区别以及使用取反符号时应该注意的问题。
! 这个是逻辑反,凡是a的值不为0的,!a 就等于0; 如果a的值为0,则 !a 的值为1
而~这个是 按位取反
比如 int a=2 ; 用二进制表示为00 00 00 10;
则 !a = 0
而 ~a = 11 11 11 01
但是应但注意的是,按位取反后的二进制结果为补码形式,求其源码为 : 10 00 00 11 即为 -3,所以 ~a 的结果为 -3。