位运算符之---按位与运算符(简单易懂)

前言:

位运算符是用来对二进制位进行操作的
c语言中有6种位运算符:
& 按位与 [链接]: https://blog.csdn.net/weixin_42837024/article/details/98736834
| 按位或 [链接]:https://blog.csdn.net/weixin_42837024/article/details/98745019
^ 按位异或 [链接]:https://blog.csdn.net/weixin_42837024/article/details/98745896
~ 取反 [链接]:https://blog.csdn.net/weixin_42837024/article/details/98748472
<< 左移 [链接]:https://blog.csdn.net/weixin_42837024/article/details/98734787
>> 右移 [链接]:https://blog.csdn.net/weixin_42837024/article/details/98734787

本篇讲 按位与& 运算符

按位与运算符“&”是双目运算符。
其功能是参与运算的两数各对应的二进位相与。
只有对应的两个二进位都为1时,结果位才为1。
千万不要与 && 混淆
首先把数转换为2进制

比如:
10 二进制为:1010
11 二进制为:1011

1  0  1  0
1  0  1  1
----------------
1   0  1  0

注意:有对应的两个二进位都为1时,结果位才为1

结果 1010 还是10
10 & 11 等于 10

在这里插入图片描述

code:


#include <iostream>

int main()
{
	auto i1 = 10;		//2进制:1010 , 10进制:10
	auto i2 = 20;		//2进制:10100 , 10进制:20

	std::cout << (i1 & i2)<<std::endl; //2进制00000 10进制:0
				
	/*				步骤: 当两个都为1时,才为1
								1 0 1 0
							  1 0 1 0 0
							  ---------
							  0	0 0 0 0	
	*/
				
	auto i3 = 11;
	
	std::cout << (i1 & i3);			  //2进制:1010 10进制:10

	/*				步骤: 当两个都为1时,才为1
								1 0 1 0
								1 0 1 1 
							  ---------
							  	1 0 1 0
	*/

	system("pause");
}


应该是比较简单易懂的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值