問題タブ [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.
python - TypeError: サポートされていないオペランド型 &: 'NoneType' および 'BitVector'
これがpythonコードです。
上記のコードでは、エラーが発生します
関数にパラメーターを BitVector として持たせるにはどうすればよいですか (これが問題を引き起こしていると考えているため)
c++ - std::vector の解釈ビットベクトルとして - 効率的なアルゴリズム?
解釈したい
ビットベクトルとして、つまり の MSBnumbers[0]
は 1 番目のビットであり、 の MSB はnumbers[1]
33 番目のビットなどです。このベクトル内の 1 のすべてのシーケンスを検索し、対応する位置をデータ構造に格納したいと考えています。(また、ここでは単一のOneがシーケンスとして定義されています)
例: 値 15 と 112 が数値で格納されています。したがって、ビット 29 ~ 32 およびビット 58 ~ 60 は 1 に等しくなります。課題は、この関数の実行時間を最適化することです。
これを処理する方法についての私の考えは次のとおりです。2 つの forループを使用することを考えました。最初のループは「数値」の要素を繰り返し処理し (element_loop と呼びましょう)、2 番目のループは単一要素内のすべての 1 の位置を把握するために使用されます (bit_loop と呼びましょう)。そのために、シーケンスの「立ち上がり」と「立ち下がり」を検出することを考えました。
各 bit_loop サイクルの開始時に、マスクが 16 進数に初期化されます。値0x80000000
。このマスクを使用して、最初のビットが 1 に等しいかどうかを確認します。はいの場合、現在の位置 (0) が保存されます。続いて、バイナリ表現のマスク " 10 00..." を使用して、次のサイクルの "立ち下がりエッジ" を検出します。「いいえ」の場合、次のサイクルで「立ち上がりエッジ」を検出するために、マスクは右に 1 ビット「01 00...」シフトされます。(私は太字の数字のカップルだけを気にします)
エッジが検出されると、現在の位置を保存し、適切な方法でマスクを 1 ビット シフトします。したがって、posの後。edge ( 01 ) neg に切り替えます。エッジ検出 ( 10 ) とその逆です。32 ビットの使用済み数値を繰り返しながら、すべてのエッジ位置をある種のベクトルに格納します。このベクトルは 2-dim である可能性があります。最初の列が 1 つのシーケンスの開始点で、2 番目の列がシーケンスの終了点です。さらに、ある要素から次の要素へのターンオーバーには特別な処理が必要になります。
これが私の一般的な質問です。このアプローチについてどう思いますか? これをより効率的に処理する方法はありますか?事前にご協力いただきありがとうございます。
ベン
arrays - (スキーム) リストを使用してブール値の配列の値を変更する
サイズ 800000 のブール値 (0 または 1) の配列を作成する必要があります。また、インデックスの値をいつでもチェック/変更できるようにする必要があります。ベクトルまたはコマンドを使用できませんset!
。
ドキュメントを見ていたらbuild-list
[ 1 ] が見つかりました。だから私はこのようなゼロの配列を作りました:
(define arrBool (build-list 800000 (lambda (x) (* x 0))))
list-ref
[ 2 ]でインデックスにアクセスできることはわかっています。ただし、そのインデックスの値を変更する方法に関するドキュメントには何も見つかりません。たとえば、0
インデックス 27392 をに変更したい場合1
、まったく新しいリストを作成せずにこれを行うにはどうすればよいでしょうか?
どんな助けでも大歓迎です、ありがとう!
z3 - Z3 でのビットベクトル演算
ビットベクトル演算を使用して算術方程式を解くために Z3 を使用しようとしています。実数も扱う方法はないかと思っていました。たとえば、#x1 とは異なる定数を指定して、代わりに実数を使用できるとします。
c - C で使用する非常に大きな数を指定する
大きな大きな整数を使用することを考えています Gmplibを使用していると考えることができます.小さな例で作業しましたが、2 ^ (2 ^ (2 ^ 1024)) のような数値で動作しますか??
私の質問は、(わからない)計算機もオーバーフローする可能性があるため、その大きな数をどのように表すかです。
python - 64 ビットのデータをパックおよびアンパックする方法は?
次のような64ビットのデータ構造があります。
HHHHHHHHHHHHHHGGGGGGGGGGGGFFFEEEEDDDDCCCCCCCCCCCCBAAAAAAAAAAAA
A: 12 ビット (符号なし)
B: 1 ビット
C: 12 ビット (符号なし)
D: 4 ビット (符号なし)
E: 4 ビット (符号なし)
F: 3 ビット (符号なし)
G: 12 ビット (符号なし)
H: 16 ビット(無署名)
Python を使用して、どのモジュール (できればネイティブの Python 3.x) を使用する必要があるかを判断しようとしています。私はBitVectorを見ていますが、いくつかのことを理解するのに苦労しています。
使いやすくするために、次のようなことができるようにしたいと考えています。
BitVector が実際に希望どおりに機能するかどうかはわかりません。最終的に実装するモジュールが何であれ、データ構造は、プロパティのゲッター/セッターを介して構造を読み書きするクラスにカプセル化されます。
一部のビット値には定数 (または列挙型) も使用します。次のようなものを使用してマップされたマスクを設定できると便利です。
この目標を達成するのに役立つ 3.x の Python モジュールはありますか? BitVector が機能する (または機能する必要がある) 場合は、役立つヒント (例など) をいただければ幸いです。BitVector は、私のアプリケーション (IMHO) にとって理想的ではない 8 ビット形式にすべてを強制したいと考えているようです。
c++ - C++11 ベクトルパフォーマンスの問題 (コード例付き)
次のコードを実行すると、ベクトルがブール配列よりもはるかに遅いことに気付きました。
vector<bool>
より速くするためにできる方法はありますか?ところで、 と の両方std::vector::push_back
はstd::vector::emplace_back
よりもさらに遅いですstd::vector::assign
。