問題タブ [bitwise-or]
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.
c++ - ビット単位-または評価の順序を保証しますか?
私がこのコードを持っているとしましょう:
C ++は、func1()が最初に呼び出され、次にfunc2()、次にfunc3()が呼び出されることを保証しますか?
または、コンパイラーは、関数を任意の順序で呼び出すことができますか?
また、コンパイラは、必要に応じて、ここで短絡最適化を実装できますか?(たとえば、func1()が〜0を返した場合、コンパイラーは、戻り値がxに割り当てられた値に影響を与えない可能性があることを知っているため、func2()またはfunc3()をわざわざ呼び出さないことを決定できますか?)
android - ビットごとの演算子 OR (|) の結果を読み取る方法は?
Android XML ファイル内のビット演算子の確認をお願いします。たとえば、この行
どのように読むべきですか?Java または Android から継承された規則は、ビット単位の演算子を独自に解釈しますか?
すべてのビット演算子がサポートされていますか? はいの場合、他のオペレーターの例を見せていただけますか (リンクも問題ありません)。
ありがとう
javascript - (Infinity | 0)=== 0なのはなぜですか?
JavaScriptでビット演算子をいじっていますが、注目すべきことが1つあります。
2つの入力ビットの1つがである場合、ビット単位または演算子は出力ビットとして返されます。したがって、効果がないため、これを行うと常にが返されます。1
1
x | 0
x
| 0
( 1 | 0 ) === 1
( 0 | 0 ) === 0
しかし、計算するInfinity | 0
と、が得られ0
ました。これは私の意見では驚くべきことです。なぜなら、上記の方法で取得する必要があるからInfinity
です。結局のところ、( x | 0 ) === x
。
ECMAscript仕様のどこでこれが明示的に定義されているのかわからないので、正確には何を意味するのか疑問に思いました( Infinity | 0 ) === 0
。おそらくその方法Infinity
はメモリに保存されていますか?もしそうなら、それでも| 0
操作を行うとそれが戻るのに0
何| 0
もすべきではないということはどうしてですか?
mysql - 結果間のビットごとのOR
MySQLクエリ間でビット単位のORを実行できるかどうか疑問に思っています。私は次のようなクエリを持っています:
値の配列を返しますが、すべての値のビットごとのORを持つ一意の値が必要です。MySQLから可能ですか、それともPHPに委任する必要がありますか?
つまり、上記のクエリは次の値のリストを返します。
結果として、これらの値のORが必要です1 | 5 | 4 | 2 | 7 | 8 = 15
bitwise-operators - ビット演算を計算する方法
ビット演算でいくつかの情報を暗号化したい。
たとえば、ビット単位または8と1から9の2つの数値。
しかし、どうすればそれを暗号化してルートノマーを取得できますか?
グリーツ
c++ - 論理ORを使用する|| 2つの整数を組み合わせるには?
std :: ofstreamを使用したファイル共有モードに関するこのMSDNの記事では、Microsoftは次のように書いています。
filebuf::sh_read
とモードを組み合わせるにはfilebuf::sh_write
、論理OR(||
)演算子を使用します。
私が見る限り、両方の定数はタイプであるため、ビット単位のOR()の代わりに論理int
ORを使用する必要がある理由がわかりません。論理ORはブール値を生成するといつも思っていたので、結果を解釈する方法はありませんか?|
javascript - ビット演算子は 2^31 以降は機能しません
私がこれを持っているとしましょう:
それを実行すると、食べたり、寝たり、遊んだりできることが出力されます。その数は 2^70 であるため、私がイエスになれるとは出力されません。数値を 2^31 にすればうまくいきます (私は 64 ビット マシンを使用していますが、上記の例を実行したときは Chrome を 32 ビット モードで実行している必要があります)。
ビット単位の演算子を扱うとき、PHPでも常にこの問題に直面しています。多くの場合、私は現在のシナリオに取り組むことができるので、リストに最大 31 個または 63 個のものを含めることは大したことではありませんが、それよりもはるかに多くする必要がある場合もあります。この制限を回避する方法はありますか? ビット演算子は非常に高速で便利です。
python - 関数を呼び出すための Python パイプ文字
簡単な質問です。
私が見たいくつかの python 関数は、たとえば pygame のように次のように呼び出されます。
pygame.display.set_mode((255, 255), FULLSCREEN)
これは私には正常に思えます。
ただし、複数の引数を使用する場合は、| を使用する必要があります。例えば:
pygame.display.set_mode((255, 255), FULLSCREEN | HWSURFACE | DOUBLEBUF)
いつ、なぜこのような召しが必要ですか? ビットごとの OR 演算子だと聞いたことがありますが、ブール値専用のようです。これはどのように作動しますか?
c++ - ビット単位のORの組み合わせから元の定数を決定する
設定されているフラグが2つ(bColdとbHot)しかないとします。私はすべての可能な組み合わせが等しくなければならないことを発見しました。それでは、元の(または互換性のある)定数が以下からどのようになるかをどのように判断できますか?
上記を知っているので、bColdとbHotを等しく設定するにはどうすればよいですか?
objective-c - iOS の UIControlEvents を一緒に論理和できますか?
次のコードがあるとします。
これらの UIControlEvents のビットごとの OR は、これらのイベントのいずれかが発生した場合にセレクターのメソッドが起動するように、それらの効果を組み合わせるという点で実際に連携しますか?
それとも、あまりにも多くのビットが一緒になって 1 つの整数に収まらないのでしょうか?