位操作符详解(C语言)

前言
C语言中的位操作符是用来对数据的二进制表示进行位级操作的运算符。这些操作符包括位与(&)、位或(|)、位异或(^)、位取反(~),这些位操作符可以用来进行各种位级操作,如获取二进制表示中的特定位、将特定位设置为0或1、交换变量的值等。它们在底层编程、位级编码和优化算法中经常被使用。今天我就来给大家分享关于位操作符的使用。
在这里插入图片描述

1,&

&是按位与操作符可以对两个操作数的二进制表示进行位与操作,首先我们都知道二进制只有数字0和1,那么&是怎么操作的呢?
我们举个例子,下面是8和11的二进制。
8: 1000
11:1011

&叫做按位与,所以我们要按照两个二进制对应的位置进行与操作如8的1对应11的1,0对应0,0对应1,0对应1(我是按从前往后的顺序说的便于理解)。
当某一位都是1的时候,与操作后的结果为1,当一方是1一方是0时,结果为0,当双方都是0时结果还是0,我们可以将其想象成一个串联电路,0和1时开关,当为1时开关闭合电流才能通过。
在这里插入图片描述

所以8&11的结果为1000即8

2,|

|是按位或操作符,与&类似,我们再用8和11举个例子
8: 1000
11:1011

当某一位双方都是1时,结果为1,当一方为1一方为0时,结果为1,当双方都是0时,结果为0.这我们就可以想象成一个并联电路,只要开一个开关,电流就能流通。
在这里插入图片描述

所以8|11的结果为1011即11

3,^

^是按位异或操作符,我们还是用8和11来举例子。
8: 1000
11:1011

当某一位双方都为1或者都为0时,结果为0,当双方不同(即一个是1一个是0)时,结果为1。即某一位相同时,结果为0,不同时结果为1.
所以8&11的结果为0011,即结果为3。

4,~

~是按位取反操作符,拿1和-1举个例子。
1: 00000000 00000000 00000000 00000001
-1:111111111 11111111 11111111 11111111

取反的意思就是0变1,1变0,所以1和-1按位取反后会分别变成:
1:11111111 11111111 11111111 11111110
-1:00000000 00000000 00000000 00000000

那么我们能发现1 = (-1)+1,-1=(1)+1,这样就可以轻松实现正数和负数的转换了。

尾声

关于位操作符的分享我们就到这里,如果觉得博主讲的不错,千万不要忘记给博主一个关注,点赞,收藏哦~,小伙伴们,我们下期再见!

weixin151云匹面粉直供微信小程序+springboot后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论 59
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小马的Trainer

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

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

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

打赏作者

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

抵扣说明:

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

余额充值