位(bit)操作符

本文详细介绍了计算机编程中常用的位运算符,包括按位与、按位或、按位异或、二进制取反及按位移位操作符,并通过具体示例说明了这些操作符的使用方法。

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

按位与操作符(Bitwise-AND Operator):  &

按位与操作符 (&) 比较两个数的每个位,如果所有的位都是 1,结果为 1,否则结果为 0。
下列示例中, 位与操作符 (&) 比较整型nNumA和nNumB的位:
int nNumA=1, nNumB=3, nNumC; // nNumA为1:00000001,nNumB为3:00000011
nNumC = nNumA & nNumB;       // nNumC为1

按位或操作符(Bitwise-Inclusive-OR Operator):  |

按位或操作符 (|) 比较两个数的每个位,如果任一位是1,结果为 1,否则结果为 0。
int nNumA=9, nNumB=3, nNumC; // nNumA为9:00001001,nNumB为3:00000011
nNumC = nNumA | nNumB;       // nNumC为11:00001011

按位异或操作符(Bitwise-Exclusive-OR Operator):  ^

按位异或操作符 (|) 比较两个数的每个位,如果一个位是0而另一个位是1,结果为 1,否则结果为 0。
int nNumA=9, nNumB=3, nNumC; // nNumA为9:00001001,nNumB为3:00000011
nNumC = nNumA ^ nNumB;       // nNumC为10: 00001010

二进制取反操作符(One's Complement Operator):  ~
二进制取反操作符有时也被称为位余或位反操作符, 操作数必须是整数型,作用是将各个二进制位由1变0,由0变1。
unsigned short y = 0xAAAA;  // y为0xAAAA
y = ~y;                     // y为0x5555

按位左移和右移操作符(Bitwise Left Shift and Right Shift Operators):  <<, >>
移位运算符可以把整型变量中的内容向左或向右移动指定的位数,>>运算符把位向右移动,<<运算符把位向左移动,移出变量两端的位被舍弃。
int nNumA=8;    // 开始值是8

nNumA >> 2;     // 结束值是2

 

更为详细的解释参见:http://www.cnblogs.com/sunrack/articles/1245830.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值