問題タブ [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 に答える
599 参照

elixir - ElixirのBitStringのビットカウントまたはハミングウェイト?

efficientlyエリクサーでビット文字列のハミング重みを計算するにはどうすればよいですか?

例:0b0101101001ハミング重みが 5 である (つまり、5 ビットが設定されている)

私の試み:

0 投票する
0 に答える
141 参照

prolog - SICStus Prolog: FFI が遅い、ハミングの重みを速く計算するには?

SICStus Prolog 4.3.2 マニュアルに示されているように、外部コード サンプルc1/2Y is X+9を実行し、そのランタイムを対応する Prolog コードと比較すると、奇妙なタイミング結果が得られました。

JIT を有効にすると、次のことがわかりました。

JIT( )をオフにした後SP_JIT=disabled、タイミングは次のように変更されました。

適切なエラー処理と大きな整数のサポートがなくても、C コードは JITted Prolog コードのほぼ 4 倍の時間実行されます。JIT をオフにすると、タイミングの数値が多少変わりますが、全体像は変わりません。

SICStus でハミング重みの計算を高速化するにはどうすればよいですか? SWI には専用の算術関数がありますが、SICStus は (まだ) サポートしていないようです... popcount/1

0 投票する
1 に答える
111 参照

bit-manipulation - HAKMEM Hamming Weight bithack にはバグがあります。それを保存する方法はありますか?

この関数は、32 の位のビットをカウントするために 33 番目のビットが必要なようです。

与えます:

しかし:

与えます:

絶対命令の数が非常に少ないため (高価な idiv 関数にもかかわらず、私の使用例では命令の数が重要です)、この関数または同様の関数を使用したいと思います。しかし、モジュラス15がどのように機能するかはよくわかりません。

7 ビットまでカウントするだけで済みます (8 ビットが理想的ですが)。この関数を修正する最善の方法は何ですか?

0 投票する
2 に答える
149 参照

c++ - 与えられたハミング距離 2 と同じハミング重みでランダムな 64 ビット ネイバーを計算する最速の方法は何ですか?

ここですでに回答されている同様の質問に関係なく、次のことを知りたいです。

  • 与えられた2 のハミング距離同じ hammingweightでランダムな64 ビットネイバーを計算する最速の方法は何ですか?

私は次のやや素朴な実装を思いつきました。Core i7 マシンで MSVC を使用している場合、どうすれば (はるかに) うまくいくでしょうか?

  • 例:

で呼び出される randomNeighbor

00000000000000000000000000000000010111101011110011000111010111

たとえば、

00000000000000000000000000000000010111101011110011001110010111

つまり、ハミング距離は 2 です。

0 投票する
1 に答える
603 参照

octave - ベクトルのハミング重みを計算するには?

Matlab でベクトルのハミング重みを計算しようとしています。

ベクトルは次のとおりです。

ただし、これにより次の結果が得られますが、これは私が望むものではありません。

よろしければお役に立てれば幸いです。

0 投票する
0 に答える
292 参照

c# - Int64 のハミング重み

設定されたビットをカウントするために Int64 にハミング重みアルゴリズムを適用する必要がある場合、BitMask がどのように見えるかを尋ねたいと思います。

Int32 の場合、次のようになります。

ただし、Int32 の長さは 4 バイトしかないため、Int64 の長さは 8 バイトです。

したがって、同じビットマスクは Int64 では機能しません。

Int64 値にハミング重みアルゴリズムを使用するための正しいビットマスクは何ですか?

編集: @just.ruから提供されたリンクを確認した後、私はこの解決策を使用しました: