問題タブ [bit-manipulation]

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

assembly - 論理演算子 AND のみを使用して、数値が 4 の倍数であるかどうかを確認するにはどうすればよいですか?

アセンブリ言語プログラミングをいじっていますが、論理演算子 AND を使用して数値が 4 の倍数であるかどうかをどのように判断できるか知りたいです。

「div」または「剰余」命令を使用してそれを行う方法は知っていますが、数値/単語のビット操作でこれを実行しようとしています。

誰かが私を正しい方向に向けることができますか? 私は MIP を使用していますが、言語にとらわれない回答で問題ありません。

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

assembly - MIPSの単語の個々のビットの状態にアクセスするにはどうすればよいですか?

プログラムを作成していますが、ビット3と6が設定されているかどうかを確認する必要があります。単語を回転したり、左右にシフトしたりできることを知っています。

しかし、どうすれば個々のビットの状態にアクセスできますか?and / xorのようなビット演算子を使用しますか?

0 投票する
7 に答える
12968 参照

language-agnostic - ビット演算を使用して最初の 3 ビットを設定またはクリアするにはどうすればよいですか?

のような数字があるとしましょう0x448。バイナリでは、これは0100 0100 1000.

ビット単位の操作を使用して、ビット 1、2、および 3 をすべて 0 またはすべて 1 に設定するにはどうすればよいですか? 最初の 3 つと言うときは、右端のビットを 0 ビットとしてカウントしています。

たとえば、

1 のビット:

0 のビット:

それらを1に設定するには、ビットごとのORをマスク14(0x000e)で使用すると思いますか?しかし、その場合、ビットをクリアするために同様のことを行うにはどうすればよいですか?


関連している:

0 投票する
23 に答える
99316 参照

c++ - セットされる最下位ビットの位置

整数に設定されている最下位ビットの位置を決定する効率的な方法を探しています。たとえば、0x0FF0 の場合は 4 になります。

簡単な実装は次のとおりです。

そこからいくつかのサイクルを絞り出す方法はありますか?

(注: この質問は、そのようなことを楽しんでいる人のためのものであり、xyzoptimization は悪だと言う人のためのものではありません。)

[編集] アイデアをくれたみんなに感謝! 他にもいくつかのことを学びました。涼しい!

0 投票する
16 に答える
134534 参照

c++ - C++ での循環シフト (回転) 操作のベスト プラクティス

左シフト演算子と右シフト演算子 (<< と >>) は C++ で既に使用できます。ただし、循環シフトまたは回転操作を実行する方法がわかりませんでした。

「左に回転」「右に回転」などの操作はどのように実行できますか?

ここで右に2回転

結果は次のようになります。

例が役に立ちます。

(編集者注: C で回転を表現する一般的な方法の多くは、回転カウントがゼロの場合、または単一の回転マシン命令以上にコンパイルされた場合、未定義の動作に悩まされます。この質問の回答は、ベスト プラクティスを文書化する必要があります。)

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

sql - TSQL。行の多くの列のビット合計を取得します

BITの概念で25列の4セットを持つテーブルがあります。実際にはフィールドはsmallintですが、データでは0または1のいずれかです。

これは、25列の最初のグループの合計を取得しようとする私のコードです。

私の出力:

合計を取得できません@LocTotal

TIA

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

bit-manipulation - サイズが不明な 2 進数のすべてのビットを「1」に設定するにはどうすればよいですか?

アセンブリで関数を記述しようとしています (ただし、質問には言語に依存しないと仮定します)。

ビット単位の演算子を使用して、渡された数値のすべてのビットを 1 に設定するにはどうすればよいですか?

設定したいビットを含むマスクでビット単位の「または」を使用できることはわかっていますが、N サイズの 2 進数に基づいてマスクを作成する方法がわかりません。

0 投票する
8 に答える
5378 参照

c# - オンになっている整数のビットを列挙する最速の方法

整数を列挙し、オンになっている各ビットの指数を返す最も速い方法は何ですか? << を使用した例と、Math.Pow を使用した別の例を見てきました。本当に速いものが他にあるかどうか疑問に思います。

ありがとう。