a&=b这是什么意思啊?

a&=b就是a=a&b我知道,a+=b是a=a+b,我也知道,可是a&=b表示什么呢?
&是逻辑位与,放在这里表示什么意思不知道,结果是什么呢?
请教一下,谢谢!
难道是a&b为真,是1,然后a=1?是吗?

&是逻辑语言,逻辑上表示两者属于缺一不可的关系,还可以表示一个人和另外一个人之意,与and同义。如A&B,表示A与B,A和B,A×B。在C语言程序引用的时候,只能在定义的时候被赋值。

a&=b就是a=a&b,a+=b是a=a+b。

A是指针类型,&是取地址符号,上式的意思表示为将B的地址赋给A,或A指向B。

例如:

int b = 1;int a & = b;

这个定义的意思就是给b取了一个别名叫a,所有对b的操作都是直接作用于a。

a&=b 即 a=a&b  其中&为位与运算。

int *a=NULL; //定义一个指针,此时a指向0x00000000。

int b=3; //定义一个int型变量,假设地址为0x00000100。

a=&b; //此时 a指向0x00000100。

扩展资料:

&运用:

1、在HTML或SGML文档中,用于指明有字符存在(特殊字符)的默认符号。

2、在电子制表程序中,用于在描述单元格相互关系的公式中插入文本的操作符。

3、英文中代表and,也可读and。

4、该字符读音“z'da”。

5、&还有“联合”的意思。比如“A&B”公司,就是“A”和“B”两间公司合并起来的。

6、在某些电脑语言,如java中,表示按位进行“与”运算。

7、英文拼写:ampersand。

8、高级语言中的取地址符,如:“int a=0;int *p;p=&a;”,意为取变量a的地址给指针p。

9、C语言中两个&&表示“与”运算。

如:while(a==9&&b==5) 表示当a等于9且b等于5时,条件成立。

10、Matlab中,&表示“与”运算(对应地,|表示“或”运算),但Matlab较高版本(如:Matlab R2008b)中,也承认&&的写法。

在以上的意义中,以第3和第5项的用法最为普遍。

11、在vfp 数据库中,&是一个宏代换函数,用内在变量的值来代替&及变量名。

12、在Pascal中,&是八进制整型常量的前缀,如&7表示7 , &17表示15 , &177表示127 。

13、&还被大量引入到艺术创作与设计中。

14、bat中的命令,&之后顺序执行多条命令,不管命令是否成功。

15、在Visual Basic中使用命令按钮时,(&字母)代表将该字母设为快捷键。

如在命令按钮的Caption属性中输入“确定(&K)”则表示K为“确定”事件的快捷键

16、起标识作用。C++中引用的声明方法:类型标识符 &引用名=目标变量名,&在此不是求地址运算,而是起标识作用。

按位与运算符(&):

运算规则:0&0=0;  0&1=0;   1&0=0;    1&1=1;

即:两位同时为“1”,结果才为“1”,否则为0

例如:3&5  即 0000 0011& 0000 0101 = 00000001  因此,3&5的值得1。

另,负数按补码形式参加按位与运算。

“与运算”的特殊用途:

(1)清零。如果想将一个单元清零,即使其全部二进制位为0,只要与一个各位都为零的数值相与,结果为零。

(2)取一个数中指定位

参考资料:百度百科-& (逻辑语言)

参考资料:百度百科-C++

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-11-26

说明b是一个指针变量,其定义应该是这样:int *b,a;

*是取值运算符,*b就是取b指向存储空间的值;

&是取地址运算符,&a表示取变量a的地址。

*运算符后面应该跟指针;而&后面应该跟变量名(或数组元素,或结构体变量.成员名)。

例如 int *b;*b=&a;是错误的,正确的是int a=1;int *b=&a;意思是说定义一个指针b,b里存的是a这个变量的地址。如果定义好了一个这真b,那么*b就指b这个变量里存的地址里的值,&为取地址符,&a就是a这个变量的地址。

扩展资料

int a = 5;这是C语言中创建变量的语句,它内存中随机的一个地址上放了一个数5,我们怎么使用它呢,就是用字符a代表它。

int* b = &a;这是C语言中赋值地址的语句,其中int* 表示创建一个为b的整型地址变量,它所代表的就是某个整型数据的地址。

&a,这是取地址的语句,从上面可以知道,a代表的是5,可是a不是地址,那么a的地址该怎么表示呢,在a的前面加上字符&,也就是&a表示的是a的地址。

参考资料来源:百度百科-INT函数

本回答被网友采纳
第2个回答  2018-11-26

a&=b表示的是:在C语言程序引用的时候,只能在定义的时候被赋值。

例如:

int b = 1;

int a & = b;

这个定义的意思就是给b取了一个别名叫a,所有对b的操作都是直接作用于a。

a&=b 即 a=a&b  其中&为位与运算。

扩展资料:

按位与运算符(&)

运算规则:0&0=0;  0&1=0;   1&0=0;    1&1=1;

即:两位同时为“1”,结果才为“1”,否则为0

例如:3&5  即 0000 0011& 0000 0101 = 00000001  因此,3&5的值得1。

另,负数按补码形式参加按位与运算。

“与运算”的特殊用途:

(1)清零。如果想将一个单元清零,即使其全部二进制位为0,只要与一个各位都为零的数值相与,结果为零。

(2)取一个数中指定位

参考资料来源:百度百科-& (逻辑语言)

本回答被网友采纳
第3个回答  2007-08-15
如果要解释a&=b,那么答案就是a=a&b,不过这个你知道了。

那么,可能是你是不明白a&b的含义吧,否则还提什么问呢:)

a&b就是把a和b的二进制形式每一位数进行"与"运算,假如a为3、b的值为7,你知道a&b结果为多少吗,3&7的结果是3,知道怎么算的吗:

3的二进制是11,7的二进制是111,按位与的结果为3。

是不是很简单,你知道3&5的结果吗,标准答案是1,想明白了就好。

现在应该知道a&b的结果是整数类型,不是什么0呀1的、真呀假的。本回答被提问者采纳