首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >位操作符(详解)

位操作符(详解)

作者头像
Yuzuriha
发布2026-01-14 15:45:57
发布2026-01-14 15:45:57
190
举报
文章被收录于专栏:Linux网络Linux网络
位操作符一共分为4种: &     按位与 |      按位或 ^     按位异或 ~     按位取反

按位与(&) 两个数以补码的形式进行计算,对应的补码有0则为0,全1 则1
代码语言:javascript
复制
//例如
//4&10
//10的补码为: 00000000 00001010(整形应该为4个字节,32位比特位,这里为了书写方便,省去了中间的两组0,一下的例子同理)
//4的补码为:  00000000 00000100
//那么经过按位与的操作过后结果应该为:
//    00000000 00000000(转化为10进制则为:0)
代码语言:javascript
复制
//我们可以使用程序来验证结果的准确性
#include<stdio.h>
int main()
{
	printf("%d",4&10); 
	return 0;
}
按位与( | ) 同理也是以补码的形式进行计算的,不过运算规则是:有1则1,全0则0
代码语言:javascript
复制
//也拿4和10举例
//4的补码: 00000000 00000100
//10的补码:00000000 00001010
//按位与的操作的结果则为
//         00000000 00001110(转为为10进制则为:14)
代码语言:javascript
复制
//我们同样有可以拿代码来验证
#include<stdio.h>
int main()
{
	printf("%d",4|10); 
	return 0;
}
按位异或(^) 同理,运算规则变为:相同为0,不同为1
代码语言:javascript
复制
//一样的举例4和10
//4的补码; 00000000 00000100
//10的补码:00000000 00001010
//那么经过按位异或的操作结果应该为
//         00000000 00001110(转为为10进制为:14)
代码语言:javascript
复制
//我们有可以来验证一下
#include<stdio.h>
int main()
{
	printf("%d",4^10); 
	return 0;
}
按位取反(~) 同理,运算规则变为:0变为1,1变为0 按位取反通常用于无符号整数,而在有符号整数中,它可能导致符号位的改变
代码语言:javascript
复制
//以10为例子
//10:00000000 00001010
//按位取反后的结果为 11111111 11110101(这里是很值得注意的地方)
//因为这里不像上面的其他例子,这里的最高位变成了1,这意味着这个数变成了负数
//那么我们就应该注意了,负数的原码与补码并不相同
//故而我们需要进行转化
//补码:11111111 11110101(取反,再+1得到原码,且符号位是不变的)
//原码:10000000 00001011(转化为10进制为:-11)
代码语言:javascript
复制
//一样的我们可以通过代码来验证起准确性
#include<stdio.h>
int main()
{
	int a =10;
	printf("%d",~a); 
	return 0;
}
最后值得说的就是,关于位操作符的使用对象只能为整数,其他的不适用
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-01-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 位操作符一共分为4种: &     按位与 |      按位或 ^     按位异或 ~     按位取反
  • 按位与(&) 两个数以补码的形式进行计算,对应的补码有0则为0,全1 则1
  • 按位与( | ) 同理也是以补码的形式进行计算的,不过运算规则是:有1则1,全0则0
  • 按位异或(^) 同理,运算规则变为:相同为0,不同为1
  • 按位取反(~) 同理,运算规则变为:0变为1,1变为0 按位取反通常用于无符号整数,而在有符号整数中,它可能导致符号位的改变
  • 最后值得说的就是,关于位操作符的使用对象只能为整数,其他的不适用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档