C语言中按位与(&)运算符是什么意思

Python023

C语言中按位与(&)运算符是什么意思,第1张

是将二进制数按照位的对应相与,得到一个新的二进制数。1与0为0;1与1为1;0与0为0。

分析如下:

就是二进制的每一位相与。

比如:1010 0011&0000 1111,结果为0000 0011。也就是与上0相当于把那位数清0,与上1相当于把那位保留。

扩展资料

1、按位与运算符"&"是双目运算符。 其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。

例如:9&5可写算式如下: 00001001 (9的二进制补码)&00000101 (5的二进制补码) 00000001 (1的二进制补码)可见9&5=1。 按位与运算通常用来对某些位清0或保留某些位。例如把a 的高八位清 0 , 保留低八位, 可作 a&255 运算 ( 255 的二进制数为11111111)。

参考资料:百度百科:位运算符

这些是位操作运算符:参与运算的量,按二进制位进行运算。

在计算机中,数据都是以二进制数形式存放的,位运算就是指对存储单元中二进制位的运算。C语言提供6种位运算符。

包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。

位运算符 & |~<< >> ∧ 按优先级从高到低排列的顺序是:

位运算符中求反运算“~“优先级最高,而左移和右移相同,居于第二,接下来的顺序是按位与 “&“、按位异或 “∧“和按位或 “|“。顺序为~  << >> & ∧  |  。

扩展资料:

例:设二进制数a是00101101 ,若通过异或运算a∧b 使a的高4位取反,低4位不变,则二进制数b是。

解析:异或运算常用来使特定位翻转,只要使需翻转的位与1进行异或操作就可以了,因为原数中值为1的位与1进行异或运算得0 ,原数中值为0的位与1进行异或运算结果得1。而与0进行异或的位将保持原值。异或运算还可用来交换两个值,不用临时变量。

如 int a=3 , b=4;,想将a与b的值互换,可用如下语句实现:

a=a∧b

b=b∧a

a=a∧b

所以本题的答案为: 11110000 。

参考资料来源:百度百科-C语言

是按2进制代码的同位进行运算。例如1010和1101这2个2进制数:

按位与为:

1010

1101

=

1000对应为同为1时是1,否则为0.

按位或为:

1010

1101

=

1111只要同位的两个全为零时得零,否则为1