問題タブ [std-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 投票する
1 に答える
2308 参照

c++ - ビットセットでは、特定の範囲のビットに「to_ulong」を使用できますか?

特定のビットとビットの範囲にアクセスする必要があることに取り組んでいます。特定のビットに簡単にアクセスできるので、bitset を使用することにしました。ビットの範囲 (サブセット) を抽出するにはどうすればよいですか?

0 投票する
12 に答える
373345 参照

c++ - 数値を2進形式で(coutを使用して)印刷するにはどうすればよいですか?

私はオペレーティングシステムに関する大学のコースをフォローしており、2進数から16進数、10進数から16進数などに変換する方法を学んでいます。今日は、2の補数(〜number)を使用して符号付き/符号なしの数値がメモリに格納される方法を学びました。 + 1)。

紙で行う演習がいくつかあります。先生に作品を提出する前に、答えを確認できるようにしたいと思います。最初のいくつかの演習でC++プログラムを作成しましたが、次の問題で答えを確認する方法がわかりません。

、、およびのメモリ内のバイナリ表現を表示する必要があります。abc

私はそれを紙で行いました、そしてそれは私に次の結果を与えます(2の補数の後の数の記憶にあるすべての2進表現):

a = 00111010(charなので、1バイト)

b = 00001000(charなので、1バイト)

c = 11111110 11000101(短いので、2バイト)

私の答えを確認する方法はありますか?C ++で数値のメモリにバイナリ表現を表示する標準的な方法はありますか、それとも各ステップを自分でコーディングする必要がありますか(2の補数を計算してからバイナリに変換する)?後者はそれほど長くはかからないだろうと私は知っていますが、そうするための標準的な方法があるかどうかについて興味があります。

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

c++ - std::bitset で enum クラスを使用する

まず第一に、ビットベースの列挙ではなく通常の列挙が必要です。異なる列挙の量が整数型を超えるためです。また、C++11 の型安全性も利用したいと考えていますenum class。そうするためには、自然な選択は になりますがstd::bitset、これら 2 つを結び付ける方法がわかりません。

カスタムbitsetが必要でしょうか?そのようなクラスの実装を回避するにはどうすればよいですか?

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

c++ - C++ビットセットのビットの範囲サブセットを数値に変換する方法は?

私は持ってstd::bitsetおり、ビットセット型はビットセットを数値に変換する方法も提供しますto_ulong。私の問題は、ビットセットの範囲を考慮しながらビットセットを数値に変換することです。独自のpowerof2関数を実装する必要があるか、何かがありますより標準的なアプローチで?

0 投票する
5 に答える
186 参照

c++ - 文字のビット表現への単純な変更

エラーが発生するのはなぜですか? 私にはかなり簡単に見えます。また、これは私がやろうとしていることを行うための最良の方法ですか?

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

c++ - ビットセット型をすべてのビットを 1 に初期化する方法

既に構築されたビットセット オブジェクトの set() 関数は知っていますが、すべてのビットが 1 である構築されたビットセットが必要です。この状況は、デフォルトの関数パラメーターです。例えば:

X がどうあるべきか、-1 は最初の 64 ビットで機能する可能性がありますが、すべてではありません。

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

c++ - C++ std::map std::bitset segfault

私はこのコードを持っています:

これは、4096 ビット長のビットセットを、ページのそのバイトがアクセスされたときに 1 でマークすることを目的としています。

このコードは、約 1 GB の XML をテストに使用したテスト マシンでうまく機能します。しかし、完全なもの (220 GB の XML) で実行すると、次のようにセグメンテーション エラーが発生します。

しかし、これは実行の非常に早い段階で行われるため、これがデータのサイズの積であると考えるのは困難です。いずれにせよ、非常によく似たコードを使用してこの大きなデータセットを分析しても問題はありませんでした ( https://github.com/mcmenaminadrianで私の github リポジトリを確認してください- このプロジェクトは memsize ですが、pagestat は非常に類似したコードを使用しています)。このコードの唯一の差別化要因は、ビットセットの使用のようです。

これまで私を逃してきたエラーを誰かが見つけることができますか?

(コードはマルチスレッドです-ビットセットスレッドセーフですか?これはライブラリの問題でしょうか-私のテストシステムはMac OSXですが、「本番」システムはLinuxです-Ubuntu 12.04 LTSですか?)

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

c++ - サイズの異なるビットセットを関数に渡す方法は?

ビットセットを関数に渡したい。ビットセットのサイズが異なる場合、関数プロトタイプのビットセット パラメーターに何sizeを割り当てる必要がありますか?bits

例えば:

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

c++ - 列挙型はビットフラグを実装する標準的な方法ですか?

現在、小さなゲーム実験で状態を表すために列挙型を使用しています。私はそれらを次のように宣言します:

このように使用できるように:

しかし、これがビットフラグを実装する正しい方法かどうか疑問に思っています。ビットフラグ用の特別なコンテナはありませんか? について聞いたことstd::bitsetがありますが、これを使用する必要がありますか? より効率的なものを知っていますか?
私はそれを正しくやっていますか?


列挙型の基本演算子をオーバーロードしていたことを指摘するのを忘れていました。

に C スタイルのキャストを使用する必要がありましたが、|=a では機能しませんでしたstatic_cast