问题标签 [hammingweight]

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 投票
1 回答
559 浏览

permutation - 查找具有特定汉明权重的下一个数字

给定一个整数x,我希望计算下一个 更高的整数y,它具有一定的汉明权重w。请注意,x 的汉明权重也不必是 w。

因此,例如 x = 10 (1010) 和 w = 4,结果应该是 y = 15 (1111)。

显然,我可以通过增加 x 来实现这一点,但对于大数字来说,这将是一个非常缓慢的解决方案。我可以以某种方式通过位移来实现这一点吗?

0 投票
1 回答
599 浏览

elixir - Elixir中BitString的位计数或汉明权重?

请问我们如何efficiently计算长生不老药中位串的汉明权重?

示例:0b0101101001汉明权重为 5(即设置了 5 位)

我的尝试:

0 投票
0 回答
141 浏览

prolog - SICStus Prolog:FFI 慢,如何快速计算汉明权重?

当我运行外部代码示例c1/2时,如 SICStus Prolog 4.3.2 手册中所示,并将其运行时与相应的 Prolog 代码进行比较Y is X+9,我得到了奇怪的计时结果:

启用 JIT 后,我观察到:

关闭 JIT ( SP_JIT=disabled) 后,时序变化如下:

即使没有适当的错误处理和对大整数的支持,C 代码的运行时间几乎是 JITted Prolog 代码的 4 倍。关闭 JIT 会稍微改变计时数字,但总体情况保持不变。

如何加快 SICStus 中的汉明权重计算?SWI 有一个专用的算术函数,但 SICStus 似乎不支持它(还)...... popcount/1

0 投票
1 回答
111 浏览

bit-manipulation - HAKMEM Hamming Weight bithack 有一个错误,有什么办法可以挽救它?

这个函数似乎需要第 33 位来计算 32 位的位。

给出:

但:

给出:

由于绝对指令的数量非常少(尽管 idiv 函数很昂贵,但在我的用例中指令的数量很重要),我想使用这个或类似的函数。但我不太明白模数 15 是如何工作的。

我最多只需要数 7 位(尽管 8 位是理想的)。修复此功能的最佳方法是什么?

0 投票
1 回答
3175 浏览

excel - 在 VBA Excel 中计算汉明权重和/或距离

我正在尝试逐个比较客户,其质量可以通过二元选择来定义(例如客户是否使用产品)。
在网上搜索了很多之后,看起来我需要为此使用汉明距离,或者它的等价物:找到两个单词之间 XOR 运算结果的汉明权重。

举个具体的例子,1001 和 1011 之间的汉明距离:

计算数 1001 XOR 1011= 0010 0010
的汉明权重 = 1(0010 中设置为 1 的位数)

对于最多 96 位的字,我需要这样做。

我找到了一些关于

http://people.revoledu.com/kardi/tutorial/Similarity/HammingDistance.html

http://trustedsignal.blogspot.ca/2015/06/xord-play-normalized-hamming-distance.html

和大量的代码,例如

汉明权重只写在二元运算中?

但仅限于 C、Java、Perl、O、opencl ......除了 Excel VBA 之外的任何东西。

到目前为止,这就是我设法整理的内容。

它有效,但不幸的是仅适用于 30 位或更少的单词,并且使用了一种有点粗略的方法:对两个数字 X 和 Y 进行异或,然后转换为表示二进制数的字符串。然后在取出 1 后计算字符串的长度。我想有一个更优雅和有效的方式。

您能否通过计算汉明权重或距离来帮助使其适用于 Excel 2010及更低版本(udf 或 sub)的 VBA 中的 96 位字?

0 投票
2 回答
149 浏览

c++ - What is the fastest way to compute a random 64bit neighbor with given hamming-distance of 2 and same hammingweight?

Regardless of similar questions already answered here, I want to know the following:

  • What is the fastest way to compute a random 64bit neighbor with given hamming-distance of 2 and same hammingweight?

I have come up with the following somewhat naive implementation. How can I do (much) better, given I am using MSVC on a Core i7 machine?

  • Example:

randomNeighbor called with

0000000000000000000000000000000000010111101011110011000111010111

could e.g. result in

0000000000000000000000000000000000010111101011110011001110010111

i.e., hamming-distance is 2.

0 投票
1 回答
603 浏览

octave - 如何计算向量的汉明权重?

我正在尝试在 Matlab 中计算向量的汉明权重。

向量是:

但是,这给出了以下结果,这不是我想要的:

如果您能帮助我,我将不胜感激。

0 投票
0 回答
292 浏览

c# - Int64 的汉明权重

当我需要在 Int64 上应用汉明权重算法来计算设置位时,我想问一下 BitMask 的样子。

对于 Int32,它看起来像这样:

然而,由于 Int32 只有 4 个字节长,所以 Int64 是 8 个字节长。

因此,相同的位掩码不适用于 Int64。

对 Int64 值使用汉明权重算法的正确位掩码是什么?

编辑:检查@just.ru提供的链接后,我使用了这个解决方案:

0 投票
1 回答
343 浏览

rust - 为什么我的汉明权重函数在 C 中有效,但在 Rust 中无效?

我在 Rust 中有以下 Hamming 权重代码,它为0xffffand返回垃圾0xffffffff,但 C 中的相同代码有效,所以我一定误解了 Rust 如何进行位级操作。它完全用括号括起来,所以我认为这不是运算符优先级问题。

在 C 中:

结果:

在 Rust 中(我不得不使用 u64 来防止溢出恐慌0xffff):

结果:

我正在使用 Rust 1.16。我知道 Rust 有count_ones()——编译器在我编写这段代码时告诉我,这非常棒,但我选择不使用它。

0 投票
3 回答
1740 浏览

python - 如何通过应用汉明窗使波浪更平滑?

我试图使波浪更平滑(从股票价格),但我不知道如何将它应用到我的波浪中。

这是来自 aspen 程序的汉明移动平均线的示例图像 参考例子

我的波变量是绘图后的绿线。该程序具有对其应用汉明然后绘制红线的功能

所以我只想知道这个程序是怎么做的。

谢谢你。