問題タブ [bitvector]

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 に答える
596 参照

objective-c - 2 つのビット ベクトルの等価性を比較するにはどうすればよいですか?

2 つのビット ベクトルを比較する最も効率的な方法は何ですか? Objective-C では、CFBitVectors を使用して、単純に両方の各ビットを比較しています。

これは問題なく機能しますが、ビット演算子を使用してより効率的な方法がないかどうかはわかりませんでした。

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

smt - stp の c/c++ インターフェイスで boolean 変数と bitvector 変数を使用して制約を解決する方法

次の制約があるとします

stp の c/c++ インターフェイスで対応するコードを記述する方法は? 私のアプリケーションでは、これに似た制約セットを解決する必要があります。どんな助けでも大歓迎です。

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

c++ - ビットをマージし、結果に含まれる 0 の数を決定します

数独パズルの行、列、およびブロックで使用されている数字を表す 3 つのビット ベクトルを 1 ~ 9 の位置から取得する関数を作成しようとしています。セルは未使用の数字のみを使用でき、関数は、すべてのベクトルの数字が 1 つの可能性を強制するか、複数の可能性があるかを返すことになっています。これは、3 つのベクトルすべてをマージし、結果のパターンのどこに「未設定」のビットがあるかを判断する必要があることを意味すると解釈しました。

ただし、この派生に触発されたにもかかわらず、私の関数は gdb で正しいマスクを返すようには見えません: http://graphics.stanford.edu/~seander/bithacks.html#MaskedMerge

2 つのうち 1 つのセットをマージし、次に 3 つ目のセットを前のマージにマージし、最終的なマージで 1 の数を導出し、それを差し引いて 0 の数を導出しようとしています。

次に、次の関数を書きました。

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

sql - C# Sql Server 配列アクセスの混乱

SQL Server データベースで数千人のブール値 (「可用性」を表す) を効率的に格納してアクセスしようとしています。彼らは私に彼らが利用できないときの日付を教えてくれるので、私は彼らを代表し、スケジュールに対してプログラムで処理する必要があります.

言い換えれば、私は各人の 1 年の空き状況を毎日追跡できる必要があります (単純な Yes/No または True/False で十分です)。

私は Bitvector32 構造に出会い、それをうまく機能させました (背景についてはリンクを参照してください: How do I convert a SQL Server 'Int' field to 'BitVector32' within my C# program? )。それを作成し、int として DB に書き込み、C# プログラムに復元することができます。

問題は、この構造内に含まれるブール値に SQL 経由でアクセスできるようにしたいのですが、アクセスできないことです。

私の次のオプションは、その時点で必要な指定された日付に対してのみブール値の配列を作成し (24 回のオカレンスが機能します)、これを SQL サーバー テーブルに格納して、各人の Y/N を含めることです。ただし、これは初めてなので、SQL Server は配列を処理しないと聞いています。唯一のオプションは、SQL Server で 24 の一意の名前の「ビット」フィールドを定義し、それらを C# ブール配列からロードすることです。これは醜いようです。

誰かがより良い解決策を見ていますか、それとも私は近いですか?

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

macos - 署名付き mkBV2Int を使用して発生した SIGSEGV

次のコードは SIGSEV につながります

signed==false の場合、問題は発生しません。

MAC OS X で Z3 を実行しています。

何か案は?

0 投票する
6 に答える
841 参照

c - 複数のビットベクトル。正確に n 回設定されているビットを見つける方法は?

たとえば、4 つのビットベクトルのコレクションがあります。

指定されたビットベクトルの正確に 0、1、2、3、または 4 に設定されているビットのマスクを取得したいと思います。したがって、m0 は 4 つのビットベクトルのいずれにも設定されていないビットのマスクであり、m3 はちょうど 3 つのビットベクトルに設定されているビットのマスクです。

ビット単位の演算子を使用してこれらのマスクを見つける最速の方法は何ですか?

これらは、0 ビットと 4 ビットの操作が最も少ないと仮定します。

他のオプションについては、私のメソッドの操作が最も少ないかどうかはわかりません。

これはこれらのマスクを計算する最速の方法ですか、それともより速く (より少ない操作で) 実行できますか?

ほとんどの場合、これらのマスクのすべてが同時に必要になるわけではなく、1 つまたはいくつかのマスクが必要です。

(実際には、64 ビットまたは 128 ビットのベクトルに対してこれを行うことに注意してください。おそらく無関係ですが、32 ビット x86 プラットフォームの C で行います。)

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

int - Z3: int ソートをビットベクトルに変換する

:変数 x は (declare-const x Int) による int ソートとして定義されます

x をビットベクトルソートに変換する方法はありますか? x には、int 理論では処理できない &、|、^ などのビット操作が含まれることがあるためです。

最初に変数 x をビットベクトルとして定義したくありません。なぜなら、ビット演算を除く int 理論でサポートされている演算 (+、-、​​、/ など) は、ビットベクトルでサポートされている演算よりもはるかに高速に実行されると思われるからです。

実際には、必要に応じて int ソートを bitvector ソートまたは vise vesa に変換したいと考えています。

ありがとう。

ティン・チェン