问题标签 [bitwise-or]

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 投票
4 回答
197 浏览

c++ - 为什么在'|'时使用'+'运算符 非常好?

这更像是一个哲学问题,但我在代码库中看到过很多次,但并不真正理解这种编程方法是如何形成的。

假设您必须将位 2 和 3 设置为某个值 x 而不更改 uint 中的其他值。这样做非常简单,也是一项常见的任务,我倾向于这样做:

我已经看到代码改为使用“|” 使用“+”:

它们是等价的吗?
是的。

这个比那个好吗?
仅当您的硬件没有按位 OR 指令时,但我从未见过没有按位 OR 的处理器(即使是小型 PIC10 处理器也有 OR 指令)。

那么为什么有些程序员会倾向于使用'+'而不是'|'呢?我在这里错过了一些非常明显,超级强大的优化吗?

0 投票
1 回答
89 浏览

c - 按位或两个无符号整数(程序崩溃)

对不起,如果我的问题不是很清楚。我有这样的结构:

以下函数用于统一两个 typeSet:

程序在执行以下行时退出:

在示例运行中,我具有以下值:

没有错误信息。干脆放弃。请帮忙。

0 投票
1 回答
595 浏览

c - C - 仅使用 & 和 ~ 计算位或

我正在尝试按位计算 | 只使用 & 和 ~。

这是输出:

我想弄清楚为什么~num1输出d

0 投票
1 回答
3557 浏览

assembly - 如何使二进制数的最高有效位= 1

如何在 MIPS 中使二进制数的 MSB 等于 1?我试图用屏蔽来做到这一点,但我得到了错误,那么还有另一种方法吗?

通过掩码使 MSB=1 的代码给了我错误。

问候

0 投票
4 回答
805 浏览

c# - 位运算练习

我有以下练习:数字 n0 到 n7 是以二进制表示的字节。任务是每一位都下降到底部,或者如果它遇到另一个位,它就会停留在它上面。这是一个视觉示例:

在此处输入图像描述

我意识到,如果我对从 n0 到 n7 的所有数字应用按位或,它始终是 n7 的正确结果:

不幸的是,对于其余的字节 n6、n5、n4、n3、n2、n1、n0,我想不出正确的方法。你有什么想法?

0 投票
2 回答
855 浏览

x86 - 为什么要两条按位或 AVX 指令?

在 AVX 中有两条指令来执行按位或 VORPD 和 VORPS。文档说:

这两个处理器操作之间有什么实际区别吗?如果不是:为什么有两条指令?如果不是:使用它们进行整数按位或是否安全?

0 投票
6 回答
13669 浏览

c++ - C++ 如何对负数进行按位“或”运算?

当我给一个变量这样的值时:e = 17|-15;,编译后我得到-15作为答案。我不明白算术c++使用什么。它如何对负小数执行按位或运算?

0 投票
3 回答
13611 浏览

c - char* 的按位运算

GCC 在编译下面的代码时会出错。注释的两行而不是另一行orshift行,但我不确定铸件是否必要和真实。

错误是这样的:二进制的无效操作数 | (有 'char*' 和 'int')

谢谢。

编辑:我知道这是一个通过引用的问题。我正在尝试修改字节。我希望该函数将位转换为字节。实际上,我首先按照所有回答者/评论者建议的方式编写了它,但是http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom中的参考传递示例.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Fcplr233.htm 让我很困惑。

0 投票
6 回答
83993 浏览

syntax - 为什么是“||” 或的符号?

我知道这||代表逻辑运算“或”,但我很好奇是否有人知道选择该符号的历史。仅仅是因为它恰好是键盘上未使用的符号吗?

0 投票
3 回答
561 浏览

c# - 这个 C# 按位或的结果是什么?

我正在尝试在 c# 中检查 SharePoint 用户的权限,并且遇到了以下似乎有效的代码:

第一个参数是要检查权限的用户。第二个参数是检查用户是否有权限。

我的问题是,按位或 emptymask 和 viewpages 权限之间的结果是什么?这实际上是在检查什么权限?