問題タブ [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.
bitmap - ビット整列、8 ブールイン 1
次のコードをコンパイルしようとしています。
ただし、行 (1) はコンパイルされません。配列のビット アラインメントの構文は何ですか?
arrays - 指定された数値に最も近い配列の 3 つの要素の合計を見つけるための漸近的に最適な方法
この質問に対する回答で、ジョン・フェミネラは次のように述べています。
各整数をビットベクトルとして表し、高速フーリエ変換を実行することで、本当に凝った場合、これを準二次的に行うことは可能ですが、それはこの回答の範囲を超えています。
その質問で説明されている問題を解決するための漸近的に最適な方法は何ですか?
c# - Bitvector64.SectionをBitvector32に変換します
BitVector64のmysec変数を作成しました。8未満のバージョンの場合、BitVector32を使用して値を生成したいと思います。
今必要なもの
- BitVector64.Sectionに値を持つMysect2。ExplictityをBitVector32.Sectionに変換し、引数を渡す必要があります。
以下の会話は私のために働いていません
- mysect3のBItVector32.Sectionの値を取得し、BitVector64.Sectionに変換する必要があります
以下の会話は私のために働いていません
また
algorithm - シフトを使用せずに正のビット数を計算する方法は?
少し前の就職の面接中に、ビットベクトル構造 (符号なし整数や long など) の正の (つまり、「1」に設定された) ビットの数を計算するように求められました。私のソリューションは、C# ではかなり単純でした。
次に、シフトを使用せずにタスクを解決するように求められました。明示的なもの (「<<」や ">>" など) も暗黙的なもの (2 を掛けるなど) もありません。2 の潜在的な行 (0、1、2、4、8、16 など) を使用した「ブルート フォース」ソリューションも機能しません。
誰かがそのようなアルゴリズムを知っていますか?
私が理解している限り、それは入力ビットベクトルのサイズに依存しない多かれ少なかれ一般的なアルゴリズムの一種であるべきです。他のすべてのビット演算と数学関数が許可されます。
z3 - ビットベクトル演算の決定手順における項書き換えの使用
私は、用語の書き換えを使用して固定サイズのビットベクトル算術問題を解決/簡素化することに焦点を当てたプロジェクトに取り組んでいます。これは、ビットブラストに基づくものなどの決定手順の前のステップとして役立つものです。書き換えという用語は、問題をまったく解決するか、そうでなければ、はるかに単純な同等の問題を生成する可能性があるため、両方を組み合わせると、かなりの速度向上が得られます。
多くの SMT ソルバーがこの戦略を実装していることは承知しています (Boolector、Beaver、Alt-Ergo、Z3 など)。一般に、著者がそのような単純化の手順をいくつかの段落で説明している論文しか見つけられませんでした。用語の書き換えの使用法を詳細に説明しているドキュメントを見つけたいと思います: ルールの例を提供し、AC 書き換えおよび/または他の等式公理の利便性について議論し、書き換え戦略の使用など.
今のところ、CVC Lite によって実行される正規化/単純化の手順について説明しているテクニカル レポートA Decision Procedure for Fixed-Width Bit-Vectorsを見つけました。このようなテクニカル レポートをもっと見つけたいと思います! STP での用語の書き換えに関するポスターも見つけましたが、これは簡単な要約にすぎません。
私はすでにそれらの SMT ソルバーの Web サイトにアクセスし、それらの出版物ページを検索しました...
よく知られているSMTソルバーの現在のバージョンで用語の書き換えがどのように使用されているかについての参照または説明をいただければ幸いです。Z3 は最もスマートな単純化フェーズの 1 つを備えているように見えるので、特に Z3 に興味があります。たとえば、Z3 3.* では新しいビット ベクトル決定手順が導入されましたが、残念ながら、それについて説明している論文を見つけることができませんでした。
c++ - C++ 高速ビットセット短絡ビット演算
デモの問題: 2 つstd::bitset<N>
の が与えられ、a
との両方にb
ビットが設定されているかどうかを確認します。a
b
この問題には、かなり明白な解決策が 2 つあります。これは、新しい一時的なビットセットを作成し、値をあらゆる場所にコピーして破棄するため、悪いことです。
この解決策は、一度に 1 ビットずつ進むため、理想的とは言えません。
block_type
理想的には、次のようなことができるようになるでしょuint32_t
うbitset
。
これを行う簡単な方法はありますか?
c++ - C++ のビット ベクトル
最近ビットベクトルについて聞いたことがありますが、このトピックに関する有用な情報やチュートリアルを実際に見つけることはできません。独自のビット ベクトル クラスを実装する方法についての書籍または簡単なチュートリアルを提案していただけますか? ありがとうございました。
---/// 自分の質問への回答を投稿できないので、この投稿を編集することにしました。ここに私が見つけたものがあります:「ゲームプログラマーのためのデータ構造 - ロン・ペントンとアンドレ・ラモス」。第 4 章、ビットベクトル。この本には、ビットベクトルの完全な説明と、ビットベクトルクラスを自分で作成する方法が記載されています。楽しんで。
java - すべての文字が一意であるかどうかを判断するためのビットベクトルの使用について説明する
これを行うためにビットベクトルがどのように機能するかについて私は混乱しています(ビットベクトルにあまり精通していません)。これが与えられたコードです。誰かが私にこれを教えてもらえますか?
特に、何をしているのchecker
ですか?
python - ビットの長い文字列を操作するためのデータ構造
Pythonでは、他のそのようなデータ構造で通常の二項演算(、、)を実行するのが速いビットの最良のデータ構造(約10000)は何n
ですか?n
&
|
^
c# - (ほとんど)プリミティブ値で構成される構造体を一意に識別する32ビットハッシュコードをすばやく作成する
編集:64ビットまたは128ビットも機能します。私の脳は、それで十分だと思って、何らかの理由で32ビットにジャンプしました。
主に数値(int、decimal)と、それぞれ12文字を超えることのない3つの文字列で構成される構造体があります。ハッシュコードとして機能する整数値を作成し、すばやく作成しようとしています。一部の数値もnull許容です。
BitVector32またはBitArrayは、この取り組みで使用するのに便利なエンティティのようですが、このタスクでそれらを自分の意志に合わせて曲げる方法がわかりません。私の構造には、3つの文字列、12の小数(そのうち7つはnull許容)、および4つのintが含まれています。
私のユースケースを単純化するために、次の構造体があるとしましょう。
各値の数値識別子を取得できることはわかっています。MyDecimalとMyIntは、数値の観点からはもちろんユニークです。また、文字列にはGetHashCode()関数があり、通常は一意の値を返します。
では、それぞれに数値の識別子を使用して、この構造を一意に識別するハッシュコードを生成することは可能ですか?たとえば、同じ値を含む2つの異なるFooを比較し、毎回同じハッシュコードを取得できます(アプリのドメイン、アプリの再起動、時刻、木星の衛星の配置などに関係なく)。
ハッシュはまばらであるため、ユースケースからの衝突は予想されません。
何か案は?最初に実行したときは、すべてを文字列表現に変換して連結し、組み込みのGetHashCode()を使用しましたが、それはひどく...非効率的です。
編集:もう少し背景情報。構造データはWebクライアントに配信されており、クライアントは含まれている値の多くの計算、文字列の構成などを実行してページを再レンダリングします。前述の19のフィールド構造は、単一の情報ユニットを表しており、各ページには多くのユニットが含まれる可能性があります。レンダリングされた結果のクライアント側のキャッシュを実行したいので、サーバーから同じハッシュ識別子が表示された場合、クライアント側で再計算せずにユニットをすばやく再レンダリングできます。JavaScriptの数値はすべて64ビットなので、32ビットの制約は人為的で制限的なものだと思います。64ビットは機能しますが、サーバー上で2つの64ビット値に分割できれば128ビットでも機能すると思います。