首页 > 解决方案 > 在 C# 中这个语句 int i = x & y 背后的含义是什么?

问题描述

我不确定这句话的含义是什么:

int i = x & y;

我跑了这个例子

int x = 1 & 2;
int y = 5;
int sum = x + y;

结果是 5,我不确定我是否了解&运算符在这种情况下

标签: c#.net

解决方案


运算符&按位 AND。要了解它的作用,请查看位模式。

所以如果1有这个二进制位模式:

0 1

并且2有这个二进制位模式:

1 0

您将它们放在一起并查看列:

0 1
1 0

只保留1所有值都为 的列的值1。所以我们有这个结果:

0 0 

这是0

因此,在第一行代码之后,x值为0,而0plus5仍然是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快速检查是否均匀。


推荐阅读