bit-manipulation

    1

    2答えて

    私はJavaアプリケーションの1つのために軽量で高精度の算術ライブラリを構築しています。ときどきintを得るには、longに変換する必要があります。つまり、longの32個の最下位ビットは、intのビットと等しくなるはずです。 残念ながら、キャストは正の数に対してのみ正しく動作します。さらに、longと同じ算術式のintを使用すると、あらかじめ暗黙的にlongにキャストされます。これを行うにはより

    3

    2答えて

    ビットベクトルのインデックス間隔に設定されたビットの数を数える高速な方法が必要です。たとえば、10000100100011000とインデックス間隔[2, 5]を指定すると、戻り値は2です。インデックスは右側から0で始まります。私はこのようなやり方で多くの質問をしています。別々にビット数を数え、最良の方法を得るか、複雑さを軽減するためにできる前処理があるかどうか?

    6

    2答えて

    ビット拡張/複製を実行する効率的な(高速の)アルゴリズムはありますか?例えば 、(24ビット値を作成)3により8ビット値の各ビットを展開:提案されている 1101 0101 => 11111100 01110001 11000111 強引な方法は、ルックアップテーブルを作成することです。将来、展開値を変更する必要があるかもしれません。つまり、上記の例では3で拡張していますが、他の値で拡張する必

    1

    2答えて

    私は、次の列挙 [Flags] enum Options { Option1 = 1 << 0, Option2 = 1 << 1, Option3 = 1 << 2 } を持っていると私は var options = 0; options |= Options.Option1; options |= Options.Option3; // now

    5

    2答えて

    誰かが私のようにARMのビットシフトを私が5であると説明できますか?ビットシフトとビット演算子の概念を理解するのが難しいので、10進数以外のシステムを含むものについては、私は理解していません。 次の場合はそれぞれ何が起こりますか(なぜR3になるのでしょうか?ビットレベルで何が起こるのでしょうか)。 /** LSL **/ mov r0, #1 mov r3, r0, LSL#10 /**

    0

    1答えて

    からビットマスクを計算する:私は8が必要な場合は 32 = 1 IP 31 = 2 IP 30 = 4 IP 29 = 8 IP など.. Ip'sはPOW(2,3)= 8に等しい。しかし私は8で始まり、逆にそれを取り除く必要があります。 これをPHPで計算するにはどうすればよいでしょうか? 事前のおかげで..

    3

    5答えて

    現在、数値xを表すために必要なビット数を決定するアルゴリズムを作成しようとしています。私の実装はcです。 しかし、いくつかのキャッチがありますが、ビット演算子{〜、&、^、|、+、< <、>>}に制限されています。また、どのようなタイプの制御フロー(if、while、for)も使用できません。 私の最初のアプローチは、左から右へバイナリで数値を調べ、最初の '1'の出現箇所を探します。私はこれにど

    2

    2答えて

    私は非常に基本的な質問があります。しかし、これまで何を試みても、私はこれをうまく実装できませんでした。 Iは、次のハードウェア構成でPIC18F2550に接続されたシフトレジスタ(74LS164)を有する: // Data pin #define SCLCD_DATA LATBbits.LATB7 #define SCLCD_DATA_TRIS TRISBbits.TRISB7 //

    2

    2答えて

    私は32768ビットの長いビット列をMySQLテーブルに格納する必要があります。このデータの必要性はいつでも索引付けされる必要はなく、フルテキストで検索される必要もありません。私が正しく読んだら、このサイズは、max_packet_sizeと行サイズ制限@ 65kの両方の範囲内でなければなりません。 理想的には、0b形式で文字列を格納したいのですが、これは必須条件ではありません。ディスク上のデータ

    2

    1答えて

    IEEE754形式でコード化されたdouble型の固定サイズの配列を持っていますが、誰かが関連することができる任意のLuaコードを教えてくれますか? 更新:それはので、ここで私は、これは"0011000" -- get string of bits for given byte function byte2bits(i) local result="" for c=1,8 d