问题标签 [bit-manipulation]
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.
assembly - 如何仅使用逻辑运算符 AND 判断一个数字是否是四的倍数?
我正在搞乱汇编语言编程,我很好奇如何使用逻辑运算符 AND 判断一个数字是否是 4 的倍数?
我知道如何使用“div”或“remainder”指令来做到这一点,但我试图通过数字/单词的位操作来做到这一点。
谁能指出我正确的方向?我正在使用 MIP,但与语言无关的答案很好。
assembly - 如何访问 MIPS 中单词的各个位的状态?
我正在编写一个程序,我需要确定是否设置了第 3 位和第 6 位。我知道我可以旋转一个单词或左/右移动它。
但是我如何访问单个位的状态?我是否使用像 and/xor 这样的按位运算符?
language-agnostic - 如何使用按位运算设置或清除前 3 位?
可以说我有一个像0x448
. 在二进制中,这是0100 0100 1000
.
如何使用逐位运算将位 1、2 和 3 设置为全 0 或全 1?当我说前三个时,我将最右边的位视为零位。
所以,例如
位为 1:
位为 0:
我猜想将它们设置为 1 我使用按位或掩码为 14 (0x000e)?但如果是这种情况,我该如何做类似的事情来清除这些位?
有关的:
- 如何在 C 中设置、清除和切换单个位?(语法不同,但操作相同)
c++ - 设置的最低有效位的位置
我正在寻找一种有效的方法来确定以整数设置的最低有效位的位置,例如对于 0x0FF0,它将是 4。
一个简单的实现是这样的:
任何想法如何挤出一些周期?
(注意:这个问题是给喜欢这些东西的人准备的,而不是让人们告诉我 xyzoptimization 是邪恶的。)
[编辑] 感谢大家的想法!我也学到了一些其他的东西。凉爽的!
c++ - C++ 中循环移位(旋转)操作的最佳实践
左移和右移运算符(<< 和 >>)在 C++ 中已经可用。但是,我不知道如何执行循环移位或旋转操作。
如何执行“向左旋转”和“向右旋转”等操作?
在这里向右旋转两次
应该导致:
一个例子会很有帮助。
(编者注:如果旋转计数为零,或者编译为不只是单个旋转机器指令,那么在 C 中表达旋转的许多常见方式都会遭受未定义的行为。这个问题的答案应该记录最佳实践。)
sql - TSQL。获取一行中多列的按位总计
我有一个表,在 BIT 概念中有 4 组 25 列。实际上字段是smallint,但它的数据是0或1。
这是我的代码,它试图获取第一组 25 列的总数。
我的输出:
我没有得到总计@LocTotal
TIA
bit-manipulation - 如何在未知大小的二进制数中将所有位设置为“1”?
我正在尝试在汇编中编写一个函数(但让我们假设该问题与语言无关)。
如何使用按位运算符将传入数字的所有位设置为 1?
我知道我可以将按位“或”与带有我希望设置的位的掩码一起使用,但我不知道如何根据一些 N 大小的二进制数构造掩码。
language-agnostic - 使用右移和按位与查找二进制数的模式?
我正在尝试在汇编中编写一个函数,该函数将检测较长的二进制数是否包含较小的二进制模式。
示例:100111
是否包含1001?
当我读到这个问题时,我想我会在每次循环中右移(逻辑)时对大数字及其较小的模式进行按位与运算。
所以,在我的脑海里,我认为它会这样做:
并重复此操作,直到数字移动到零或 AND 返回 1。
但是,我想我一定有些困惑,因为在循环的第一次运行中,对于我放入的大多数内容,这将返回 1。我对 AND 的用法感到困惑吗?
c# - 通过打开的整数位进行枚举的最快方法
枚举整数并返回打开的每个位的指数的最快方法是什么?看过一个使用 << 的例子和另一个使用 Math.Pow 的例子。想知道是否还有其他真正快速的东西。
谢谢。
c - 计算数字中的位数
复制:
假设你有一个号码。有没有办法计算该数字的二进制表示中等于 1 的位,而不是使用迭代?我的意思是,有没有办法使用一些按位运算符和掩码在恒定时间内做到这一点。我需要适用于 32 位和 64 位架构的解决方案。啊差点忘了,我需要的是C语言或者汇编也不错。