位运算运算规则

本文详细介绍了位运算符的使用,包括按位取反(~)、按位与(&)、按位或(|)、按位异或(^)以及移位运算符(左移<<和右移>>)。通过实例展示了它们的运算规则和特性,并探讨了它们在二进制转换中的应用。重点讨论了异或运算的翻转性、保持性和恢复性,以及移位运算在数值变化中的规律。

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

位运算符

位运算符作用优先级
~按位取反1
<< 和>>左移 右移2
&按位与3
^按位异或4
按位或5

涉及进制转换内容详见链接:https://blog.csdn.net/qq_48434912/article/details/122898217?spm=1001.2014.3001.5502
1、按位取反(~)

单目运算符,以二进制为单位,1变0,0变1。

2、按位与(&)、按位或(|)

双目运算符,以二进制为单位。

 1&1=1			1|1=1
 0&0=0			0|0=0
 1&0=0			1|0=1
 0&1=0			0|1=1

3、异或(^)

双目运算符,以二进制为单位。
运算规则:两个数相同异或为0,不同异或为1。

 1^1=0
 0^0=0
 1^0=1
 0^1=1

特性:

  1. 与1异或具有翻转性(0变1,1变0)
  2. 与0异或具有保持性(异或后为本身)
  3. 与一个二进制数连续异或两次后恢复原值不变,具有恢复性
  4. 异或运算具有交换性(a ^ b = b ^ a)

4、移位运算符(左移位<<)
双目运算符,以二进制为单位。
规则:高位不论0或1都丢弃,低位空位以0填充。
特征:高位丢弃的没有1时,左移 i 位,变成 2^i 倍。

 20<<2
 20二进制:0001 0100
 左移两位:0101 0000
 结果:20*2^2=80

5、移位运算符(右移位>>)
规则:低位不论0或1都丢弃,高位空位对于有符号的数填充符号位(正数填0,负数填1),对于无符号的数则填0。
特征:低位丢弃的没有1时,右移 i 位,变成 2^-i 倍,即缩小了 2^i 倍。

20>>2
 20二进制:0001 0100
 右移两位:0000 0101
 结果:20*2^-2=5

注:位运算后若无赋值操作,则变量的值不变。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

又又爱拍照

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值