#includeusing namespace std;int main(){//与cout<<(5&4)<<endl;//或cout<<(5|4)<<endl;//非cout<<(~5)<<endl;//异或cout<<(5^4)<<endl; cout<<(5^5)<<endl;return 1;}输出为 4 5 -6 1 0分析:5的二进制为01014的二进制为0100~5 的结果为 -6原因:int 类型为32位存储,且数值在计算机中存储采用补码(源码,反码,补码的关系:源码取反为反码,源码取反加1为补码;补码除符号位以外,取反加1为源码)简单假设8位 0000 0101 源码51111 1010 取反1000 0101 除最高位取反1000 0110 加1异或的用途可以判断两个数是否相同,若相同的两个数,则异或为0;不同的两个数则异或为1
位运算符-按位与或非异或
最新推荐文章于 2022-03-01 22:11:17 发布