关于c语言中的位运算符

本文详细介绍了C语言中的位运算符,包括按位与(&)、按位或(|)、按位异或(^)、按位取反(~)、按位右移(>>)和按位左移(<<)。这些运算符应用于整数类型,如char、short、int、long,用于对数据的二进制位进行操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

c语言中的位运算符

c语言中有位运算符有&、| 、^ 、~ 、>> 、<<(注意:位运算符使用于整数char、short、int、long,不适用于浮点类型)。位运算符是指对数据按二进制位进行运算。

1.&(按位与)

规则如下:
			1&1  = 1
			1&0  = 0
			0&1  = 0
			0&0  = 0
例如:13 & 7,首先将13和7转换为二进制分别为  0000 1101,0000 0111。
		0000 1101
	&	0000 0111
-------------------
		0000 0101 			所以13&7的结果为5。
	
	  再看一个另一个例子: -7 & 44 
	  按照正常思路应该是 1000 0111,0010 1100按位与得到结果为0000 0100换为十进制是
	  8,**但是二进制在计算机中的的存储方式为补码,所以-7在计算机中用二进制表示为1111 
	  1001,正数的补码与原码相同**,所以正确的结果为(1111 1001)&(0010 1100)= 40
推论:
	  num & -1 = num;num & 0 = 0

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值