問題タブ [bitwise-operators]

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

java - Javaでビットシフトはどのように機能しますか?

私はこの声明を持っています:

バイトのビット値xが00101011であると仮定します。結果はx>>2何ですか?

どうすればそれをプログラムでき、誰かが私に何をしているのか説明できますか?

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

java - JavaでのビットごとのAND(&)式

評価結果に影響を与える副作用があるコードをデバッグしていexpr1 & expr2ます。JLSはの左から右への評価を保証しているので、それは前に評価されると思いますが、必ずしも。の評価は必要ありません。また、評価順序の変更は、HotSpot(Java 6u20を実行している)によって実行された最適化の結果である可能性があると思われます。HotSpotがそのような最適化を行うことができるかどうか知っていますか?さらに良いことに、疑惑を支持または排除するドキュメントへのポインタを提供します。前もって感謝します。expr1expr2expr2expr1&&&

編集:正しくて読みやすいようにコードを書き直すことを提案してくれた人たちに感謝します-あなたは正しいですが、私はすでにそうしているので、それは私が探しているものではありません。残念ながら、変更をテストするのは難しいので、ここで質問します。

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

bitwise-operators - J にはビットごとの xor プリミティブが組み込まれていますか?

J には xor のように機能するプリミティブがあることは知っています~:が、これは実際にはnot equal to (!=)

xor =: 4 : '#.((#:x)~:(#:y))'動詞定義内では、ビットごとの xor のように機能させることができますが、これは数値のバイナリ表現が同じ長さの場合にのみ機能します。if ステートメントを使用して同じサイズのリストを作成し、ビットごとの xor を作成する完全な動詞を作成する以外にできることはありますか。

ご参考までに、私が質問しているのは、Java で作業していた Nim 解決プログラムを J で再作成したいからです。

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

java - Javaで「|=」はどういう意味ですか?

私の質問はに関するものではないことに注意してください!=|=

使用例はこちら

x |= y同じx = x | yだと思いますが、確認書類が見つからず、確認したかったのですが

ありがとう

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

objective-c - ビットごとの AND 演算子について

私は、Kochan の本「Programming in Objective-C」で Objective-C のビット演算子について読んでいます。

私はこの部分について非常に混乱していますが、これまでに提示された他のほとんどすべてを本当に理解しています.

ここに本からの引用があります:

ビットごとの AND 演算子

ビット単位の ANDing は、マスキング操作によく使用されます。つまり、この演算子は、データ項目の特定のビットを 0 に設定するために簡単に使用できます。たとえば、ステートメント

これは、w1 の値を定数 3 とビットごとに AND 演算したものを w3 に割り当てます。これは、w の右端の 2 ビットを除くすべてのビットを 0 に設定し、w1 の右端の 2 ビットを保持するという同じ効果があります。

C のすべてのバイナリ算術演算子と同様に、バイナリ ビット演算子は、等号を追加することによって代入演算子としても使用できます。ステートメント

したがって、次と同じ機能を実行します。

さらに、ワードの右端の 4 ビットを除くすべてを 0 に設定する効果があります。ビット単位の演算を実行する際に定数を使用する場合は、通常、定数を 8 進数または 16 進数で表す方が便利です。

わかりました、それが私が理解しようとしていることです。今、私はこの概念全体のほとんどに非常に混乱しており、誰かが私を助けてくれるかどうかを少し明確にしたいと思っています.

本が「すべてのビットを設定する」と言及しているとき、すべてのビット..正確にはビットとは何ですか。2進数、つまり2進数で0か1じゃないですか?

もしそうなら、最初の例で、「一番右の 2」を除くすべてのビットが 0 になっているのはなぜですか? 定数から 3 を取って 3 - 1 なので 2 ですか?

ありがとう!

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

asp-classic - ASPでは、ビット演算子の左シフトと右シフト

誰かが左シフトと右シフト演算子のサンプルを知っていますか?ASPは初めてです。AND、OR、NOTだけでなく、などのビット演算子を見つけました。

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

ruby - Ruby でビットを右に回転する操作

Ruby に Rotate Bits Right はありますか?

または、どうすればそれを行うことができますか。

ありがとう

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

php - ビット演算エラー?

私は楽しみのためにサイトを開発していて、ビット演算子に基づいたディレクトリアクセス制御を実装しようとしています。
私は定義しましたGUEST = 1, GROUP1 = 15 and GROUP2 = 23

比較すると

しかし、私が定義するGUESTと、GROUP1そしてGROUP2

問題GROUP1ありません:

どこが間違っているのですか?いくつかの提案?ありがとう。


私は本当に奇妙なことを発見しました。私のGUEST、GROUP1、およびGROUP2は、関数parse_ini_file(self :: $ fileName、true);によって解析するiniファイル内で宣言されています。クラス内。ファイルを解析した後、セクション[DEFINE]で定義されたカップルkey = valueを再帰的に定義します(単純なトリック)。そこでコメントすると、GROUP2 = 23の定義があり、現在のスクリプト(GROUP2&GUEST)内で宣言すると、1が返されます。

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

c++ - C ++:ユニオンvsビット演算子

私には2つcharのがあり、それらをビット単位で「ステッチ」したいと思います。
例えば:

したがって、私が最初に試したのはビット演算子を使用したものです。

しかし、これは機能しません。私は次のようにshortなりc2ます... (1)なぜですか?
(しかし:c1そしてc2私の実際のアプリでは負の数です...多分これは問題の一部ですか?)

だから、私の2番目の解決策はunion:を使用することでした

これは私が望むように機能します...私は思います

(2)最良/最速の方法は何ですか?

ありがとう!

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

sql - ビット関数を使用して BIT フィールドをクエリする場合、MySQL はインデックスを使用しません。

MySQL テーブルに BIT 型のフィールドがあります。たとえば、ビット値を使用してレコードのステータスを保存します。

各レコードは、一度に多くのステータスを持つことができます。status1 と status3 の場合、値は 1 + 4 = 5 になります。次を使用して、status3 のすべてのレコードのテーブルをクエリできます。

にインデックスがありますが、インデックスが使用されていないことstatusesがわかります。EXPLAINこのような状況でインデックスを使用できますか?

PS別の多対多リンクテーブルを使用することは、より正規化されたソリューションですが、これにはより「フラット」な構造が必要です。