c++中 & (按位与),怎么运算。举几个例子

作者&投稿:糜狮 (若有异议请与网页底部的电邮联系)
c++中 & (按位与),怎么运算。举几个例子~

按位与运算符"&"是双目运算符。
其功能是参与运算的两数各对应的二进位相与。
只有对应的两个二进位均为1时,
结果位才为1,
否则为0。
比如
9&16
=0000
1001&0001
0000=0000
0000
0010
0111&0000
1111=0000
0111

一般是用来保留某些位,其他位清零。举个例子,某个数字字符a,a可能是'0'或者'1'或者..或者'9',要将它转化成数字,也就是0或者1或者..或者9,你可以用a=a-'0',当然你可以写成a-='0',这是作减法,可以达到目的。
如果你注意到'0'实际上是0x30,依次类推,'9'实际上是0x39的话,就可能想到将高4位清成0也能达到目的。于是你可以这样a=a&0x0F,当然你爱写成a&=15也是一样的。
记得要保留不变的位,相与的数相应位置要是1,要清零的位相与的数相应位置要是0。
拿‘7'变成7举例,一般是写出二进制形式来算按位与
'7' 00110111
0x0F 00001111
'7'&0x0F 00000111
可以看出最后的00000111就是7
就这个例子而言不一定用按位与,但是这个容易想到也比较容易理解

&:在C++中有两种意思,一种是取地址符,是单目运算符;另一种是位运算符,表示“按位与”,是双目运算符。

a&b表示a和b执行按位与运算。

&后跟一个变量。每个变量对应一个存储空间块。每个存储空间都有一个数字,即地址,&变量名表示取出该代码,而变量名表示取出该编号对应的存储空间中的值。

系统将在内存中分配一个空间,* a的值是变量a的值;定义一个指向整数数据的指针,效果与&相反,它根据变量的地址获取变量的值,编译时给它分配一个地址,指针指向整数数据。

扩展资料:

C++语言的特点 :

1、简洁紧凑、灵活方便 

C++语言只有32个关键字和9个控制语句,该程序可以自由编写,主要以小写字母表示。它结合了高级语言的基本结构和陈述以及低级语言的实用性。C++语言可以像汇编语言一样对位,字节和地址进行操作,而这三种语言是计算机的最基本工作单元。

2、运算符丰富 

C++语言运算符包括34个运算符。 C++语言将括号,赋值,强制转换等视为运算符。C++的操作类型非常丰富,表达式类型多样化,并且可以灵活地使用各种运算符来实现其他高级语言难以实现的操作。

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



按位与运算符"&"是双目运算符。 其功能是参与运算的两数各对应的二进位相与。

只有对应的两个二进位均为1时, 结果位才为1, 否则为0。

比如 9&16 =0000 1001&0001 0000=0000 0000

0010 0111&0000 1111=0000 0111


合川区18841304196: c++中 & (按位与),怎么运算.举几个例子 -
刘贾美罗: 按位与运算符"&"是双目运算符. 其功能是参与运算的两数各对应的二进位相与.只有对应的两个二进位均为1时, 结果位才为1, 否则为0.比如 9&16 =0000 1001&0001 0000=0000 00000010 0111&0000 1111=0000 0111

合川区18841304196: 在c++中关于& -
刘贾美罗: b&c是按位与运算符,它的运算时自左至右的举个例子:参加运算的两个数据,按二进位进行“与”运算.如果两个相应的二进位都为1,则该位的结果值为1,否则为0.即 0&0=0;0&1=0;1&0=0;1&1=1;例如: 3&5 并不等于8,应该是按位与....

合川区18841304196: C++中关于 '&'的用法. -
刘贾美罗: &在C++中有一些不同的含义,具体的含义需要根据&所处的上下文决定.&有如下含义:1. 作为按位与运算符,意思是进行按位与运算. 2. 作为取地址运算符,意思是元算对象的地址.3. 作为左值引用的声明指示符,意思是定义一个左值引用...

合川区18841304196: c++ 运算符!&,|,~ 这些二进制运算符,在实际中是怎么用的,一般我们都是用的是&&,||这些,谢谢高手赐教! -
刘贾美罗: 我说的全一些吧:二进制运算符包括:!(非),&(按位与),|(按位或),^(按位异或) 首先说明一下,所有二进制的运算都是“按位”的,如果是8位和8位(二进制码,低位对齐).运算的时候是每一位都运算的(不是整体).例1:!...

合川区18841304196: c++中的&&与||的简单应用与执行顺序 -
刘贾美罗: 区别一:意思不同 1、&表示按位与操作. 2、&&表示逻辑与的意思,即为and. 区别二:程序执行的时候不同 1、当运算符&&两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false.比如 12&&23的...

合川区18841304196: C++中 & 的用法 -
刘贾美罗: &是C++中的逻辑运算,”与“运算.一般来说是两个 &连用,比如说a与b就是 a&&b. & 如果是单独使用则是进行二进制数的位与运算,比如二进制数 100 & 101 结果就是 100 & 还可以作为变量的前面表示取变量地址赋值给指针, 如:int a = 0; int *p = &a;

合川区18841304196: c++里&是什么意思? -
刘贾美罗: &:在C++中有两种意思,一种是取地址符,是单目运算符;另一种是位运算符,表示bai“按位与”,是双目运算符. a&b表示a和b执行按位与运算.&后跟一个变量.每个变量对应一个存储空间块.每个存储空间都有一个数字du,即地址,...

合川区18841304196: C++中的位与“&”. -
刘贾美罗: & 是位运算 1 & 1 = 1 1 & 0 = 0 0 & 1 = 0 0 & 0 = 0 && 是逻辑与运算 true && true = true true && false = false false && true = false false && false = false C++是在C语言的基础上开发的一种通用编程语言,应用广泛.C++支持多种编程范式 --面向对象编程、泛型编程和过程化编程.最新正式标准C++14于2014年8月18日公布.其编程领域众广,常用于系统开发,引擎开发等应用领域,是至今为止最受广大程序员受用的最强大编程语言之一,支持类:类、封装、重载等特性.

合川区18841304196: c++中,k&=k - 1是什么意思啊? -
刘贾美罗: C++中,&符号有两个基本作用.一是取地址;第二个是按位与运算,就是AND运算,是二进制运算.这里显然不是取地址,而是后者.比如,k=23时,化成二进制就是10111,然后原式等价k = k & (k-1),也就是10111&10110,结果等于10110,就是22.我用程序验证过.

合川区18841304196: &在c++中是什么含义 -
刘贾美罗: 就是逻辑运算中 与 的意思具体计算如下:1&0 = 0&1 = 01&1 = 10&0 = 0如果是多位的(二进制来说),则实行按位相与,计算方法跟上面的相同

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网