问题标签 [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.
language-agnostic - 如何获取跨步模式的校验和
我有一个 64 位数(但只使用了 42 个低位),并且需要计算 4 位的总和, 和(注意n
:n+m
任何可以产生总和 >4 的东西都是无效的)对于一些固定的 m 和将所有位放入数字中的 n 的每个值n+m*2
n+m*3
作为一个例子,使用m=3
并给出 16 位数字
我需要计算
有没有人有任何(很酷)的想法来做到这一点?我没问题。
我目前的想法是制作输入的位移副本以对齐要求和的值,然后构建一个逻辑树来执行 4x 1bit 加法器。
这最终会导致结果的位分布在 3 个不同的整数中,但是很好。
编辑:碰巧我需要总和的直方图,所以对 , 进行位计数,并o4
给我想要的。o2&o1
o2
o1
第二种解决方案使用完美的散列函数
这通过注意到 4 个选定位只能采用 16 种模式并且(通过猜测和检查)可以使用 mod 30 将它们散列为 0-15。从那里,一个计算值表给出了所需的总和。碰巧只有 4 步中的 3 步我需要以这种方式工作。
ps
正确胜过快速。快胜于清。我预计会运行数百万次。
php - 了解 PHP &(与号,按位与)运算符
我经常($var & 1)
在我的代码中使用,如果$var
是奇数则返回 true,如果是偶数则返回 false。
但是“&”实际上是做什么的呢?
database - Oracle中的按位异或
在SQL Server中,我一直在使用该符号,但是在Oracle^
中似乎不起作用。
如何OR
在 Oracle 中进行按位排他?
c# - 什么是按位或 | 运营商呢?
我正在阅读有关标志枚举和按位运算符的信息,并遇到了以下代码:
我在某处读到了为什么有包容性或陈述以及为什么不能有 &,但找不到文章。有人可以刷新我的记忆并解释原因吗?
另外,我该怎么说和/或?例如。如果 dropdown1="hello" 和/或 dropdown2="hello"....
谢谢
sql - 在 DB2 中将位数据的 char 转换为整数
我正在编写一个 DB2 用户定义函数,我需要一个非负整数数组,我将其表示为 bit data 的 varchar。我计划为每个整数使用两个字节(给我一个最大值 2^16-1,这是可以接受的)。
我可以使用chr函数将整数转换为位数据的字符,但是如何将其恢复为整数?
有关 DB2 过程中位操作的任何其他建议也会有所帮助,因为我似乎找不到太多关于它的文档。我在 Linux 上使用 v9.1。
bit-manipulation - 位旋转重新排序
我需要对 7 位值进行任意重新排序(是的,我知道我应该使用表格)并且想知道是否有任何位黑客可以做到这一点。
例子:
编辑:我在想一些类似的 东西
只是为了踢球,因为我是 AFTK,所以我正在尝试蛮力搜索以下形式的解决方案:
未找到解决方案。
java - 如何使用按位运算符将多个整数值传递给 Java 函数?
在应用程序框架中,我不断看到允许您将多个 Int 值(通常用于代替枚举)传递给函数的框架。
例如:
那么 multiValueExample 中应该存在什么逻辑,以便我正确评估使用按位运算符传入的多个 int 值?
c - C中的位移
如果对应于有符号整数的位模式向右移动,则
这个问题的答案是第三个选项.. 任何人都可以解释这个,,
还给出一些基本概念,关于 C 编程中左移和右移运算符背后的理论。例如
执行任何操作时在空位上填充的内容。我检查并注意到左移将空位填充0,右移填充1。请清除逻辑...
c++ - 在 C++ 中操作位数组中的字段
所以我想知道设置和操作位字段。
我已经找到了将字符数组视为比特流的 C/C++ 代码,这与我猜想的问题相似,但它并没有给我一个很好的 stl 方法,我认为它必须存在。
我正在考虑来自stl的位集,但我的数据集非常复杂,位布局为 1、2、3、4、7、8、16 位格式。
假设我想访问我的数据中的一个项目,第 4 个字段是跨越字节边界的 8 位代码段,有没有简单的方法可以做到这一点?
我正在寻找一个好的 stl 实现来访问 4 中的数据或设置 4 中的数据,我认为存在一些问题,因为必须将数据转换为单个字节并将其屏蔽似乎很愚蠢。编写它似乎也很困难,并且应该有一种更简单的方法来完成这样的任务。
还有其他方法吗?
编辑 - 我的数据集长度约为 20 个字节,我想按位顺序保留它
apache-flex - 有人可以解释这个位操作代码吗?
我有一个树控件,每个节点旁边都有复选框,允许节点上的选中、未选中和中间选中状态。单击节点时,将更新父节点和子节点。我发现的代码使用位移,我试图了解到底发生了什么。
有人可以解释以下代码吗?或者更好的是,重写这段代码以便更容易理解?