位运算小知识点

本文主要介绍了位运算的相关知识,包括“&”“|”“^”“~”“<<”“>>”等运算符,详细阐述了各运算符的逻辑含义、理解方法,并给出了相应的二进制运算示例,最后还提及了二进制字符串位数的递推规则。

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

位运算运算符理解
位运算:“&”,“|”,“^”,“~”,“<<”,“>>”
“&”:逻辑与
例子:a&b
a:1 0 1 1 0 1
&
b:1 1 0 1 1 0

	1 0 0 1 0 0

两种理解方法:

① 每一位上的数字和1相“与”,得到这个数字本身
每一位上的数字和0相“与”,得到0

② 每一位上数字的乘法运算,11=1 10=0 01=0 00=0

“|”:逻辑或
例子:a|b
a:1 0 1 1 0 1
|
b:1 1 0 1 0 0

	1 1 1 1 0 1

两种理解方法:

① 每一位上的数字和1相“或”,得到1
每一位上的数字和0相“与”,得到这个数字本身

② 每一位上数字的加法运算,1+1=1 1+0=1 0+1=1 0+0=0

“^”:逻辑异或
注:任何数字与1异或相当于对此数字取反
例子:a^b
a:1 0 1 1 0 1
^
b:1 1 0 1 1 0

	0 1 1 0 1 1

理解方法:

各对应位置的数字,相同为0,不同为1。

“~”:取反
例子:~a
a:1 0 1 1 0 1
~
0 1 0 0 1 0

理解方法:

0变1 1变0

“<<”:左移运算
例子:a<<3
a : 1 0 1 1 0 1
a << 3
1 0 1 0 0 0

理解方法:数字整体左移,空出来的地方用0填充

“>>”:右移运算
例子:a>>3
a : 1 0 1 1 0 1
a << 3
0 0 0 1 0 1

理解方法:数字整体右移,空出来的地方用0填充

例题:

给定二进制字符串s,取出第n位

解析:二进制字符串倒数第1位为第0位,依次向前递推

例子:
		s :1 0 1 1 0 1
	              要求取出第2位

	方法: (s>>2)&1
	解释:s>>2 
				得到	s 0 0 1 0 1 1
		   s & 1
				0 0 1 0 1 1
				0 0 0 0 0 1
             —————
				        1			
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值