JSビット操作子
1953 ワード
ビット毎の操作子(Bitwise operators)は、その操作数(operands)を、10進数、16進数、または8進数の値ではなく、32ビットのビットシーケンスとして扱う.例えば、10進数9は、2進数で表すと1001となります.ビットオペレータによる数字のバイナリ形式ですが、戻り値は依然として標準的なJavaScript値です.
以下の表はJavaScriptのビット別オペレータをまとめています.
演算子
使い方
説明
例
位別と(AND)
位別の計算結果がよく分かりませんので、資料を調べて、計算手順をまとめました.
計算ステップ:入力~7 をバイナリに変換すると、0 b 0000111です. は補数を取ります.つまり0 b 0000111です. もう一度押すと、0 b 11111000. です.は補数を元のコードに変えます.0 b 11111000は負の数ですから、元のコードに変換する過程はもう一回の補数を求めます.0 b 11111000(元)=0 b 1000111(反対)=0 b 100000(補足) 戻り値-8 もとのコードを追加してください.逆コードと補数の知識点は次の通りです.元のコードは、記号のビットに真の値を付加する絶対値であり、1番目のビットでシンボルを表し、残りのビットは値を表します.例えば、8ビットのバイナリ(1番目が符号ビット)であれば、+1=0 b 0000 0001(元)-1=0 b 1000 0001(元) (元)逆コードの表示方法は、正の数の逆コードが自身であり、負の数の逆コードがその元のコードに基づいて、記号のビットが不変であり、残りの各ビットが逆になります.+1=00001(元)=00001(反)-1=100000 1(元)=11110(反) 補数の表示方法は、正数の補数はその自身であり、負の数の補数はその元のコードに基づいて、記号のビットは不変であり、残りの部分は逆になり、最後の+1.(つまり、逆コードに基づいて+1)+1=00001(元)=00001(補足)-1=100000(元)=11111(反1115611)
あなたに助けがあれば、いいね-
以下の表はJavaScriptのビット別オペレータをまとめています.
演算子
使い方
説明
例
位別と(AND)
a & b
各ビットに対して、2つの操作数だけ対応するビットビットが1である場合、結果は1であり、そうでなければ0である.0b1110 & 0b1101 === 0b1100
ビットまたは(OR)でa | b
各ビットに対して、2つの動作数に対応するビットビットが少なくとも1つある場合、結果は1であり、そうでなければ0である.0b1110 | 0b1101 === 0b1111
ビット別異和(XOR)a ^ b
各ビットに対して、2つの動作数が対応するビットビットがあり、1つしかない場合、結果は1であり、そうでなければ0である.0b1110 ^ 0b1101 === 0b0011
位別非(NOT)~ a
反転操作数のビット、すなわち0は1になり、1は0になる.~0b1110 === -0b1111
左シフト(Left shift)a << b
a
のバイナリ形式を左にb
(<32)ビットビットシフトし、右に0で塗りつぶします.0b00001110 << 2 === 0b00111000
符号付きで右に移動a >> b
aのバイナリは、シフトされたビットを右にb
(<32)ビットを表し、破棄する.0b00001110 >>2 === 0b00000011
符号なしで右に移動a >>> b
aのバイナリは、シフトされたビットを右にb
(<32)ビット、廃棄し、0を使用して左側に塗りつぶします.-1 >>> 1 === 2147483647, -1 >>>31 ===1
~順位別位別の計算結果がよく分かりませんので、資料を調べて、計算手順をまとめました.
計算ステップ:
あなたに助けがあれば、いいね-