问题标签 [bitwise-and]
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.
java - 了解按位条件检查以获取数组中所有可能的组合总和
我有一个算法,其目标是在一个整数数组中给出所有组合的所有可能总和。
我无法理解使用按位 AND 添加的内部 if 条件。内部 if 循环的目标是什么。
c++ - 这里到底发生了什么?
这需要一个 char, c 并打印出它的二进制文件。这是如何工作的,特别是第二行。
c++ - C ++:将按位与的结果分配给布尔
我在 C++ 中有以下循环,用 g++ 4.1.2 编译:
注意 logStatus() 是按值接收其参数的,所以参数不会被修改。m_firstOk 和 m_secondOk 当然是 bool 成员属性。
到目前为止,这一切都很好。我收到了一份报告,它没有检测到 firstOk 何时更改。我使用 gdb 附加到正在运行的进程。它在 sleep() 行中,当我看到以下内容时我感到很惊讶:
怎么回事?当 firstOk 应该是按位与 0x1 的结果时,它怎么可能是 244?我知道一个布尔值实际上存储为一个整数,但我的按位 AND 怎么能被忽略呢?由于它是 244,当它应该为假时,它被评估为真,这就是问题的原因。
不是将按位与的结果分配给布尔安全吗?这是一个 gcc 错误吗?或者我应该做如下的事情?
提前致谢。
bit-manipulation - (Bitwise Logic) What does AND'ing something with 0x7F accomplish?
I'm trying to understand a program that I have disassembled. I'm understanding it so far.
However, I do not understand why the program is AND'ing an integer with 0x7F. It also likes to AND an integer with 0xFF. The program is somewhat of a random number generator.
What does this accomplish?
I think AND'ing with 0xFF takes the lower byte (of a register) and discards the rest?
Specifically in MIPS ASM:
c++ - 正数和负数的按位和(&)的含义?
谁能帮忙是什么n&-n
意思??以及它的意义是什么。
javascript - javascript中的按位&未返回预期结果
我正在用 javascript 处理 BitWise AND 运算符。
我有两个 32 位数字
当我和他们按位 计算时,4294901760 & 4294967040
我得到了 -65536 虽然结果应该是4294901760
.
任何人都可以指导我我错过了什么吗?或者什么是正确的方法。谢谢
javascript - 针对奇数进行测试
大多数情况下,模运算符%
用于测试偶数或奇数。
现在我的问题是,使用按位与对奇数进行测试是否有任何问题,因为它感觉更自然地测试最右边的位是否1
比0
进行模检查2
并且作为 32 位转换不改变最右边的位。
两个都
(1 + Math.pow(2,52)) & 1 //1
和
(1 + Math.pow(2,52)) % 2 //1
产生相同的结果。
是否有理由更喜欢模运算符而不是按位?
编辑:这个问题只考虑在 64 位精度范围内的值,因为只有偶数可以精确表示在 2^53 以上,因此两个操作数都失败(9007199254740993 % 2 //0)
c - 如何仅使用 ~ 和 | 在 c 中进行按位与运算
我需要使用~
和创建一个函数|
,这样该函数f(6, 5)
将4
作为答案返回。
c - 不同宽度数据类型上的移位运算符的安全性
位运算符从来都不是我的强项。我想知道在使用位移时何时需要显式强制转换。
例如,只要是无符号整数类型,例如、等,就i&1 == i%2
保证为真?我认为问题是in是否被隐式转换为 width 类型。i
char
unsigned
uint64_t
1
i&1
sizeof(i)
作为第二个示例,如果我执行 a i = 1<<myshift
,我是否需要首先将 显式1
转换为足够宽以存储移位结果的数据类型,例如:i = (uint64_t)1<<myshift
?
第二个示例中的类型是否myshift
无关紧要,只要它是无符号的?
我认为这些问题的答案是肯定的,肯定的,肯定的。特别是第二个例子可以快速检查。但是有人对这些东西有很好的参考吗?来自 C 标准的链接/引用将非常有帮助。
c# - 在 C# 中缓慢的 ulong 按位与
我正在尝试优化我的国际象棋程序。我正在使用ulong
位板来生成合法动作,因为我认为它会非常快。然而,Profiler 表明大部分时间都花在了按位与运算上(超过 20% 的包含样本,如下所示;分析执行了多次,结果相同)。
分析代码经过 x64 优化,在 VMWare Player(Windows 7 客户机,Debian 主机)上运行。我无法让 Mono Profiler 工作以查看它是否产生相同的结果,但在 Linux 上本地执行的 Mono 运行代码的时间与 VMWare 上的 .Net 框架完全相同。
下面显示的报告可能是正确的,操作确实那么重,是我误解了它,还是分析器不准确?