手机影视素材网站大全,wordpress怎么导入html,正规的企业网站建设公司,海口 做网站目录 1、按位与#xff08; #xff09;
2、按位或#xff08; | #xff09;
3.按位异或#xff08; ^ #xff09; C语言中的位操作符有以下#xff1a; | ^//按位与 //按位或 //按位异或 位运算符是计算两者之间的补码#xff0c;然后得到的是计算后补…
目录 1、按位与
2、按位或 |
3.按位异或 ^ C语言中的位操作符有以下 | ^//按位与 //按位或 //按位异或 位运算符是计算两者之间的补码然后得到的是计算后补码转化为的原码进行输出表示 注他们的操作数必须是整数。 1、按位与
以下为简单举例
#includestdio.hint main()
{int a 3;int b -5;int c a | b;return 0;
}对于以上代码的运算在下面进行拆分讲解。分别先列出a和b的原码然后计算得到补码原码取反1 000000000000000000000011 a原码 000000000000000000000011 a补码正数的补码是他本身 100000000000000000000101 b原码 111111111111111111111111010 b反码 111111111111111111111111011 b补码 在得到二者补码后将补码进行按位与运算。即对应位置都为1才为1有一个是0即为0具体运算如下 000000000000000000000011 a补码 111111111111111111111111011 b补码 000000000000000000000011 c补码 在经过从补码变为原码的过程 111111111111111111111111101 c原码 所以a和b按位与最终得到的c二进制为111111111111111111111111101。 2、按位或 |
举例
#includestdio.hint main()
{int a 3;int b -5;int c a | b;printf(%d\n,c);return 0;
}与按位与一样按位或同样是先计算出a和b的补码然后将补码进行计算然后得到的补码再转换为原码才是真正c的值 000000000000000000000011 a原码 000000000000000000000011 a补码正数的补码是他本身 100000000000000000000101 b原码 111111111111111111111111010 b反码 111111111111111111111111101 b补码 按位或的计算方法是两个二进制序列对应位置有1则为1得到补码然后再转化为原码 000000000000000000000011 a补码 111111111111111111111111011 b补码 111111111111111111111111011 c补码 在经过从补码变为原码的过程负数取反符号位不变 100000000000000000000101 c原码 所以得到的按位或计算得到的值为100000000000000000000101。
运算结果显示 3.按位异或 ^
依旧用实例来进行讲解
#includestdio.hint main()
{int a 3;int b -5;int c a ^ b;printf(%d\n,c);return 0;
}000000000000000000000011 a原码 000000000000000000000011 a补码正数的补码是他本身 100000000000000000000101 b原码 111111111111111111111111010 b反码 111111111111111111111111101 b补码 按位异或运算遵循的原则是相同位为0相异位为1详细运算如下 000000000000000000000011 a补码 111111111111111111111111011 b补码 111111111111111111111111000 c补码 在经过从补码变为原码的过程负数取反符号位不变 100000000000000000001000 c原码 所以得到的c的原码为100000000000000000001000。
运算结果为 4.结语 如有遗漏或问题请直接指出感谢阅读。