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的、真呀假的。本回答被提问者采纳

a&=b这是什么意思啊?
&是逻辑语言,逻辑上表示两者属于缺一不可的关系,还可以表示一个人和另外一个人之意,与and同义。如A&B,表示A与B,A和B,A×B。在C语言程序引用的时候,只能在定义的时候被赋值。a&=b就是a=a&b,a+=b是a=a+b。A是指针类型,&是取地址符号,上式的意思表示为将B的地址赋给A,或A指...

a&=b,c++中是什么意思
&= 是一个自反运算,这句的意思是:a = a & b;其中 & 是位与运算符

c语言a &=! b是什么意思
a &= !b即 a = a & (!b)首先将b进行逻辑非运算,然后,将运算结果与a的值进行按位与运算,最后将这个按位与运算的结果存入到变量a中

C语言中&= , ?和: 分别是什么意思啊?还有一个&和&&有没有区别啊?求大神...
a = a&b。?:是问号表达式,例如 a>b?a:b,意思就是如果a大于b,那么这个表达式的值就是a,否则表达式的值为b。&和&&有区别的,前面一个是按位与,后面一个是逻辑与,例如:1 & 2,这个表达式的值为0,1 && 2这个表达式的值为1 ...

a&=!b是什么意思?
我不知道完整的意思,但是可以提供以下点:a&=b ==> a=a&b 这里,需要算整数a和b的二进制数按位与的结果,a=3 => 11 a=5 = >101 a&b=1 大概就是这样.!b在这题里的意思抱歉我需要再学习学习基础.

请问C语言中 比如 A=&B什么意思?
A = &B A应该是指针类型,&是取地址符号,上式的意思表示为将B的地址赋给A,或A指向B int *a=NULL; \/\/定义一个指针,此时a指向0x00000000 int b=3; \/\/定义一个int型变量,假设地址为0x00000100 a=&b; \/\/此时 a指向0x00000100 \/\/===分界线=== 另外或许想问A &=B?就是A = A&...

a&=b怎么算?
a=a&b 先a b与在赋给a

c语言中,指针问题!*a=b和a=&b,有什么不同?a是指针
a=b,是吧b的数值放到a指向的空间 a=&b,是把b的地址赋值给a 相同之处就是*a b的数值相同 不同之处是,上面的是数值赋值,那么a指向的空间没有改变 而下面的赋值a指向的地址改变了,也就是a申请的内存空间中的数值变成了b的地址

a&& b表达什么意思?
a&&b,a和b的逻辑与的值。是C语言里的一种逻辑表达式。&&表示的意思是数学中的逻辑与操作。在C语言中非0则是1,因为题目中a=4,b=5,所以a&&b的结果为1。所以题目中x的最后结果为1。计算过程a&&b=1,c<‘B’=1,x=1&&1,所以x=1。

单片机&=和|=这是什么意思啊
channel &= 0x07;意思是channel=channel&0x07,也就是说将变量的高5位清零,保留低三位。ADC_CONTR |= 0x08; 意思是将ADC_CONTR的最高位置1,低7位不变。

相似回答