問題タブ [bitset]

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 投票する
7 に答える
20912 参照

c - バイト配列を 12 ビットでシフトする方法

バイト配列の内容を 12 ビット左にシフトしたい。

たとえば、次の type の配列から始めuint8_t shift[10]ます。

左に12ビットシフトすると、次のようになります。

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

c++ - バイト配列をビットセットに変換する

乱数ジェネレーターによって生成されたバイト配列があります。これをSTLビットセットに入れたい。

残念ながら、ビットセットは次のコンストラクターのみをサポートしているようです。

  1. 「10101011」のような1と0の文字列
  2. 符号なしの長い。(私のバイト配列は長くなります)

私が今考えることができる唯一の解決策は、バイト配列をビットごとに読み取り、1と0の文字列を作成することです。誰かがより効率的な解決策を持っていますか?

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

c++ - ビットセットデータをファイルに書き込む方法は?

ファイルにビットごとに書き込みたいstd::bitsetがありますが、もちろんfstreamの書き込み関数はこれをサポートしていません。文字列を使用して各8ビットグループをcharに変換し、それを書き込む以外に、別の方法を考えることはできません...

誰かが良い方法を知っていますか?

0 投票する
9 に答える
13100 参照

java - バイトをビットに変換

私はJavaを使用しています。

私はバイト配列(配列の各位置に8ビット)を持っています、そして私がする必要があるのは配列の値の2つをまとめて値を取得することです。

私は自分自身をよりよく説明しようとします。オーディオファイルからオーディオデータを抽出しています。このデータはバイト配列に格納されます。各オーディオサンプルのサイズは16ビットです。配列が次の場合:

byte [] audioData;

必要なのは、1つのオーディオサンプルを取得するために、サンプルaudioData[0]とaudioData[1]から1つの値を取得することです。

誰かが私にこれを行う方法を説明できますか?

前もって感謝します。

0 投票する
4 に答える
425 参照

c++ - VC++ でのヘッダー ファイルのコンパイルに関する問題

プロジェクトのコードを再編成したところ、解決できないエラーが発生しています。このヘッダーは、コンパイルしようとしている .cpp ファイルに含まれています。

Entity::getBitMask() の宣言で次のコンパイラ エラーが発生します。

エラー C2143: 構文エラー: ';' がありません 「<」の前

エラー C2433: 'Entity::bitset': 'virtual' はデータ宣言では許可されていません

エラー C4430: 型指定子がありません - int と見なされます。注: C++ は default-int をサポートしていません

エラー C2238: ';' の前に予期しないトークンがあります

次の行にも同様のエラーがあります。ビットセットが含まれていないようですが、明らかに含まれていますか? 何が問題なのかわかりません。WinMain.h には windows.h が含まれ、numDefs.h には何も含まれていません。

MS Visual C++ 2008 を使用。

0 投票する
4 に答える
6390 参照

java - JavaでBitSetをファイルに書き込む

私は BitSet を持っていて、それをファイルに書きたいと思っています - writeObject メソッドを使用して ObjectOutputStream を使用する解決策を見つけました。

Java API の ObjectOutputStream を調べたところ、他のもの (byte、int、short など) を記述できることがわかりました。

クラスをチェックアウトしようとしたので、次のコードを使用してファイルにバイトを書き込もうとしましたが、結果は1バイトではなく7バイトのファイルになります

私の質問は、ファイルの最初の 6 バイトは何ですか? なぜ彼らはそこにいるのですか?

ファイルに大量のデータを書き始めたくないので、私の質問は BitSet に関連しています。

コードは次のとおりです。

助けてくれてありがとう

アヴナー

0 投票する
3 に答える
788 参照

c++ - C ++で16進文字列をマージする最良の方法は? 【かなり編集しました】

マスクを伴う 2 つの 16 進文字列があり、それらを 1 つの文字列値/マスク ペアにマージしたいと考えています。文字列にはオーバーラップするバイトが含まれる場合がありますが、マスクを適用した後、オーバーラップするビットは、そのビットの値がどうあるべきか矛盾してはなりません。上のニブルはすべて「0」で、下のニブルは 01011 でなければなりません

私はこれをすでにストレート c を使用して行い、文字列をバイト配列に変換し、memcpy をプロトタイプとしてバッファーに変換しました。テスト済みで、動作するようです。ただし、これは見苦しく読みにくく、矛盾する特定のビット要件に対して例外をスローしません。ビットセットの使用を検討しましたが、変換オーバーヘッドを必要としない別の方法はありますか? パフォーマンスは優れていますが、重要ではありません。


編集: 詳細ですが、これを書いていると、単純な問題を難しくしすぎていることに気付きます。でも、とにかくここです。

混合コンテンツ ドキュメントのバイナリ検索である多数の入力が与えられます。ドキュメントはページに分割され、ページは一度に 1 ページずつ配信する API によって提供されます。各ページは、提供された検索語で検索する必要があります。

ページをリクエストする前に、すべての検索用語を取得しています。入力は、16 進数を表す文字列 (これが 16 進数文字列の意味です) と、入力 16 進数文字列で重要なビットを示すマスクです。すべての入力が前もって与えられているので、返される各ページの検索を改善したいと考えました。これらの16進文字列を一緒にマージする前処理が必要でした。問題をさらに興味深いものにするために、すべての文字列には、表示する必要があるページへのオプションのオフセットがあり、オフセットがないことは、文字列が要求されたページのどこにでも表示できることを示しています。したがって、次のようなものです。

指定された Input オブジェクトに がある場合、offset_present = falseoffset に割り当てられた値は無視されます。offset_present が false の場合、明らかに他の入力とマージできません。

問題をより興味深いものにするために、見つかったものに関する情報 (見つかった input_id、オフセットの場所など) を提供する出力を報告したいと思います。一部の入力をマージすると (他はマージしない)、これが少し難しくなります。

私は CompositeInput クラスを定義することを検討し、基になるマージをビットセットにすることを考えていましたが、ビットセットについてさらに読むと、それは私が本当に考えていたものではないことに気付きました。私の経験不足により、複合的なアイデアをあきらめ、力ずくで行ってしまいました。入力が見つかったときに出力用に収集される追加情報 (たとえば、ページ番号、パラグラフ番号) など、他の入力タイプに関する詳細をスキップする必要がありました。出力クラスの例を次に示します。

N 個の 16 進文字列をマージし、マージの詳細をユーザーから隠したままにする場合、これらの N 個を生成したいと思います。

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

grails - Grails: GORM と BitSet?

サポートされていない永続データ型に関する公式ドキュメントには何も表示されないため、Groovy 言語で使用可能な型を処理する必要があるという仮定の下で作業しています。ただし、次のドメイン クラスの場合:

私は得ています:

2009-11-15 16:46:12,298 [メイン] エラー context.ContextLoader - コンテキストの初期化に失敗しました ネストされた例外は org.springframework.beans.factory.BeanCreationException: 'transactionManager' という名前の Bean の作成中にエラーが発生しました: Bean プロパティ 'sessionFactory' の設定中に Bean 'sessionFactory' への参照を解決できません。ネストされた例外は org.springframework.beans.factory.BeanCreationException: 'sessionFactory' という名前の Bean の作成中にエラーが発生しました: init メソッドの呼び出しに失敗しました。ネストされた例外は org.hibernate.MappingException です: テーブル doc_group_permissions からの関連付けは、マップされていないクラスを参照しています: java.util.BitSet

誰もこれに遭遇したことがありますか?

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

java - Java の非常にコンパクトな Bitarray

Java で高密度の可変長 bitarray を格納する非常にコンパクトな方法を探しています。現在、私は を使用していますが、サイズnBitSetのビット ベクトルに対して平均1.5*n ビットのストレージ スペースを使用しているようです。通常、これは問題にはなりませんが、この場合、格納されるビット配列はアプリケーションのメモリ フットプリントのかなりの部分を占めます。したがって、それらを少し小さくすることは本当に役立ちます。

BitSet が必要とするスペースは、データ構造をサポートするために使用される long の配列が、より多くのビットを保持するために拡張されるたびに 2 倍になる傾向があるという事実によるものと思われます。

バックエンドのデータ構造をより保守的にスケーリングする BitSet の独自の代替実装を作成できます。しかし、必要がなければ、標準クラス ライブラリに既にある機能を複製するのは本当に嫌です。