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

c++\u4e2d & (\u6309\u4f4d\u4e0e)\uff0c\u600e\u4e48\u8fd0\u7b97\u3002\u4e3e\u51e0\u4e2a\u4f8b\u5b50

\u6309\u4f4d\u4e0e\u8fd0\u7b97\u7b26"&"\u662f\u53cc\u76ee\u8fd0\u7b97\u7b26\u3002
\u5176\u529f\u80fd\u662f\u53c2\u4e0e\u8fd0\u7b97\u7684\u4e24\u6570\u5404\u5bf9\u5e94\u7684\u4e8c\u8fdb\u4f4d\u76f8\u4e0e\u3002
\u53ea\u6709\u5bf9\u5e94\u7684\u4e24\u4e2a\u4e8c\u8fdb\u4f4d\u5747\u4e3a1\u65f6\uff0c
\u7ed3\u679c\u4f4d\u624d\u4e3a1\uff0c
\u5426\u5219\u4e3a0\u3002
\u6bd4\u5982
9&16
=0000
1001&0001
0000=0000
0000
0010
0111&0000
1111=0000
0111

\u4e00\u822c\u662f\u7528\u6765\u4fdd\u7559\u67d0\u4e9b\u4f4d\uff0c\u5176\u4ed6\u4f4d\u6e05\u96f6\u3002\u4e3e\u4e2a\u4f8b\u5b50\uff0c\u67d0\u4e2a\u6570\u5b57\u5b57\u7b26a\uff0ca\u53ef\u80fd\u662f'0'\u6216\u8005'1'\u6216\u8005..\u6216\u8005'9'\uff0c\u8981\u5c06\u5b83\u8f6c\u5316\u6210\u6570\u5b57\uff0c\u4e5f\u5c31\u662f0\u6216\u80051\u6216\u8005..\u6216\u80059\uff0c\u4f60\u53ef\u4ee5\u7528a=a-'0'\uff0c\u5f53\u7136\u4f60\u53ef\u4ee5\u5199\u6210a-='0'\uff0c\u8fd9\u662f\u4f5c\u51cf\u6cd5\uff0c\u53ef\u4ee5\u8fbe\u5230\u76ee\u7684\u3002
\u5982\u679c\u4f60\u6ce8\u610f\u5230'0'\u5b9e\u9645\u4e0a\u662f0x30\uff0c\u4f9d\u6b21\u7c7b\u63a8\uff0c'9'\u5b9e\u9645\u4e0a\u662f0x39\u7684\u8bdd\uff0c\u5c31\u53ef\u80fd\u60f3\u5230\u5c06\u9ad84\u4f4d\u6e05\u62100\u4e5f\u80fd\u8fbe\u5230\u76ee\u7684\u3002\u4e8e\u662f\u4f60\u53ef\u4ee5\u8fd9\u6837a=a&0x0F\uff0c\u5f53\u7136\u4f60\u7231\u5199\u6210a&=15\u4e5f\u662f\u4e00\u6837\u7684\u3002
\u8bb0\u5f97\u8981\u4fdd\u7559\u4e0d\u53d8\u7684\u4f4d\uff0c\u76f8\u4e0e\u7684\u6570\u76f8\u5e94\u4f4d\u7f6e\u8981\u662f1\uff0c\u8981\u6e05\u96f6\u7684\u4f4d\u76f8\u4e0e\u7684\u6570\u76f8\u5e94\u4f4d\u7f6e\u8981\u662f0\u3002
\u62ff\u20187'\u53d8\u62107\u4e3e\u4f8b\uff0c\u4e00\u822c\u662f\u5199\u51fa\u4e8c\u8fdb\u5236\u5f62\u5f0f\u6765\u7b97\u6309\u4f4d\u4e0e
'7' 00110111
0x0F 00001111
'7'&0x0F 00000111
\u53ef\u4ee5\u770b\u51fa\u6700\u540e\u768400000111\u5c31\u662f7
\u5c31\u8fd9\u4e2a\u4f8b\u5b50\u800c\u8a00\u4e0d\u4e00\u5b9a\u7528\u6309\u4f4d\u4e0e\uff0c\u4f46\u662f\u8fd9\u4e2a\u5bb9\u6613\u60f3\u5230\u4e5f\u6bd4\u8f83\u5bb9\u6613\u7406\u89e3

&:在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

扩展阅读:与 或 ... 智力急转弯第一范网 ... c入门教程视频 ... c++是什么意思 ... c++编程 ... dev c++ ... c++教程 ... 免疫组化ck-代表什么 ... c++如何实现按位取反 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网