首页 > 解决方案 > 我不明白变量的值是如何变化或初始化的:

问题描述

我不明白什么是变量的新值。我不明白它是如何工作的..我无法在任何地方找到答案..

我运行它并且 x = 10 , n = 2 和 y = 0?但我看不出它背后的逻辑。

int x = 5, y = 3, n;
x *= (2 & 2);
n = 2 | 2;
y *=(5 & 8); //  y = 0 ??
Console.WriteLine(x); // 10
Console.WriteLine(y); // 0
Console.WriteLine(n); // 2

x = 10 ,但 y = 0 ?我只是不明白逻辑......我不记得这个表单类,但突然之间它就在那里。这个怎么运作?

标签: c#

解决方案


5 就像 0101(2) 这意味着 5 包含 4 (0100) 和 1(0001)

8 就像 1000(2) 这意味着 8 只包含 8 (1000)

& 和 | 运算符检查值是否包含在相同点为真的相同元素。

所以 5|8 将包含 8 4 1 => 1101 并转换为十进制,如 13。

并且 5&8 将为零,因为 5 不包含 8 并且 8 也不包含 4 和 1。

我想介绍这个网页来了解按位运算符。

https://code.tutsplus.com/articles/understanding-bitwise-operators--active-11301


推荐阅读