c# - 在 C# 中这个语句 int i = x & y 背后的含义是什么?
问题描述
我不确定这句话的含义是什么:
int i = x & y;
我跑了这个例子
int x = 1 & 2;
int y = 5;
int sum = x + y;
结果是 5,我不确定我是否了解&
运算符在这种情况下
解决方案
运算符&
是按位 AND。要了解它的作用,请查看位模式。
所以如果1
有这个二进制位模式:
0 1
并且2
有这个二进制位模式:
1 0
您将它们放在一起并查看列:
0 1
1 0
只保留1
所有值都为 的列的值1
。所以我们有这个结果:
0 0
这是0
。
因此,在第一行代码之后,x
值为0
,而0
plus5
仍然是5
。
再举一个例子,让我们做这个表达式:1 & 3
. 我们有这两个二进制位模式:
0 1
1 1
这产生了这个结果:
0 1
所以我们得到1
. 我们还可以这样做2 & 3
:
1 0
1 1
要得到这个结果:
1 0
这是2
。
按位与有多种用途。一个简单的方法是检查偶数和奇数。该表达式x & 1 == 1
是一种快速检查变量x
是否为奇数的方法。x & 1 == 0
快速检查是否均匀。
推荐阅读
- bootstrap-table - 如何在下拉列表更改时更改表的数据源
- python - Python:定期在线程中运行http请求
- python - youtube数据api,外语支持
- angular9 - @grapecity/wijmo 在将我的 Angular 项目从 8 升级到 9 后抛出运行时错误
- python - 如何根据另一个字典的键长度生成不同的字典?
- typescript - vue 3 & typescript - 当 ComputedRef<> 位于 reactive() 内时无法访问它;
- json - 有没有办法使用 SOAPUI 验证整个 JSON 响应?
- javascript - 如何检查所选选项的价值是否高于另一个下拉菜单中的选项?
- java - 使用集合
删除列表中的索引 - ios - 在执行其他代码之前等待异步请求