问题标签 [bitwise-operators]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
10 回答
4205 浏览

c++ - 一些随机的 C 问题(ascii 魔术和位运算符)

我正在尝试学习 C 编程,我正在研究一些源代码,有些东西我不明白,尤其是关于位运算符。我阅读了一些有关此的网站,并且对它们的作用有所了解,但是当我回头查看这些代码时,我无法理解它们为什么以及如何使用它们。

我的第一个问题与按位运算符无关,而是与一些 ascii 魔术有关:

  1. 有人可以向我解释以下代码是如何工作的吗?

    我知道这样做是为了将 char 转换为 int,但是我不明白它背后的逻辑。为什么/它是如何工作的?

  2. 现在,关于按位运算符,我觉得这里真的很迷茫。

    • 这段代码有什么作用?

      我在某处读到〜反转位,但我看不到这个语句在做什么以及为什么这样做。

      与此行相同:

      /li>
    • 其他问题:

      |= 运算符到底在做什么?根据我的阅读,|= 是 OR,但我不太明白这个语句在做什么。

      有什么方法可以重写此代码以使其更易于理解,以便它不使用此按位运算符?我发现它们很难理解,所以希望有人能指出正确的方向来理解它们如何更好地工作!


我现在对位运算符有了更好的理解,整个代码现在更有意义了。

最后一件事:显然没有人回应是否会有一种“更清洁”的方式来重写此代码,使其更易于理解,并且可能不是“位级”。有任何想法吗?

0 投票
11 回答
8668 浏览

c# - 一个清晰的,外行的解释之间的区别| 和 || 在 C# 中?

好的,所以我已经读过很多次了,但我还没有听到一种清晰、易于理解(且令人难忘)的方式来了解以下之间的区别:

..在 C# 的上下文中。任何人都可以帮助我了解这个基本事实,以及 C# 具体如何以不同的方式对待它们(因为它们似乎做同样的事情)。如果给定的一段代码之间的差异无关紧要,我应该默认将哪个作为最佳实践?

0 投票
2 回答
835 浏览

c# - 枚举上的位操作

我遇到以下问题:

  • 我想获得列集合的第一个可见和冻结列。

我认为这会做到:

  • 是否也可以制作一个位掩码来获得第一个冻结或可见的列?
0 投票
3 回答
13028 浏览

c# - 如何在 C# 中使用 & 运算符?代码的翻译是否正确?

C++ 中的“if(arg2 & 1)”行(arg2 是 DWORD)等于 C#(arg2 是 Uint32)中的“if(arg2 & 1==0)”,对吗?

我正在尝试将函数从 C++ 转换为 C#,但出现错误:

如果您能在整个函数中进一步了解任何其他错误,我也将不胜感激。

C++

转换为 C#

LARGE_INTEGER 结构:

功能:

这是我还不确定的:

  1. C++ 中的 DWORD 是 C# 中的 UInt32 还是 Int32?
  2. if(integer & integer) 表示 if(integer and integer ==0)?//这是我上面描述的错误所在的地方。
  3. if(!integer) 表示 if(integer != 0)?
  4. 为什么运算符 & 不能在 C# 中逻辑使用,这意味着它需要一个布尔值?
  5. "LARGE_INTEGER 结果 = {1, 0}" 表示 result.lowpart 为 1 且 result.highpart 为 0 或 result.Quadpart = 1?

提前致谢!

0 投票
3 回答
17679 浏览

oracle - PL/SQL 中的移位运算符

shiftPL/SQL 中是否有运算符的替代方案?有bitand函数,但它只接受binary_integer类型的参数。

如果我需要检查非常长的数字的低位/高位(可能在行中设置),我该怎么办?

C里面有和<<运营>>商。我如何在 PL/SQL 中实现它们?

0 投票
6 回答
20380 浏览

c# - C# 中按位与的逆运算是什么?

我需要做一个逆计算,包括按位与运算,我该怎么做?

我尝试了异或,但没有帮助。

不工作。我该如何计算?

0 投票
18 回答
231336 浏览

operators - 按位补码运算符 (~ tilde) 是如何工作的?

为什么〜2等于-3?运营商是如何~工作的?

0 投票
7 回答
44597 浏览

c# - C#按位向左旋转和向右旋转

_rotlC++ 的 C# 等价物(.NET 2.0) 是_rotr什么?

0 投票
1 回答
642 浏览

delphi - 将 Delphi 按位运算转换为 Cobol

如何将此代码转换为 COBOL?

值类型是 DWORD,我猜它是按位运算。

0 投票
8 回答
1654 浏览

c - C:对char进行i和^运算的结果是什么?

有一段代码:

我真的不知道它在做什么。

编辑:我了解|and^运算符的作用,我只是不知道它们将如何处理char值。