按位与运算符(&) [转载 非原创]

本文详细介绍了二进制按位与运算的基本概念及其应用。包括如何进行正数和负数的按位与运算,并通过实例展示了如何利用按位与运算实现清零和获取特定比特位的功能。

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

参加运算的两个数据,按二进位进行“与”运算。如果两个相应的二进位都为1,则该位的结果值为1,否则为0。即

    0&0=0;0&1=0;1&0=0;1&1=1;

例如: 3&5 并不等于8,应该是按位与。

               3 = 00000011

          (&)  5 = 00000101

                  00000001

因此,3&5的值得1。如果参加&是负数运算的是负数(如-3 & -5),则以补码形式表示为二进制数,然后按位进行“与”运算。

按位与有一些特殊的用途:

(1)清零。 如果想将一个单元清零,即使其全部二进位为0,只要找一个二进制数,其中各个位符合以下条件:原来的数中为1的位,新数中相应位为0。然后使二者进行&运算,即可达到清零目的。

如:原有数为00101011,另找一个数,设它为10010100,它符合以上条件,即在原数为1的位置上,它的位值均为0。将两个数进行&运算:

00101011

 (&)    10010100

00000000                                                  

其道理是显然的。

当然也可以不用10010100这个数而用其他数(如01000100)也可以,只要符合上述条件即可。

(2)取一个数中某些指定位。

转载于:https://www.cnblogs.com/daiercaomei/archive/2013/06/04/3117368.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值