a &= b a 等于啥
1个回答
展开全部
这是一个缩略式子,展开之后的结果是a = a & b;
&是按位与的操作符.
按位与运算:
参加运算的两个数据,按二进位进行“与”运算.如果两个相应的二进位都为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)取一个数中某些指定位.如有一个整数a(2个字节),想要其中的低字节.
只需将a与(737)8按位与即可.
&是按位与的操作符.
按位与运算:
参加运算的两个数据,按二进位进行“与”运算.如果两个相应的二进位都为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)取一个数中某些指定位.如有一个整数a(2个字节),想要其中的低字节.
只需将a与(737)8按位与即可.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询