ビット演算
JavaScriptに限った事じゃないけどビット演算って頭の中ですぐ出てこない。
勉強してた頃ならすぐ出るかもしれないけど。
AND & OR | XOR ^ NOT ~ 左シフト << 右シフト >> 0埋めの右シフト >>>
5 & 3 の結果は? 0101 & 0011 = 0001 で 1 5 | 3 の結果は? 0101 | 0011 = 0111 で 7 5 ^ 3 の結果は? 0101 ^ 0011 = 0110 で 6 ~5 の結果は? 0101をビット反転させるから11111010 で -6 5 << 3 の結果は? 0101 を 3ビット 左にシフトだから 0101000 で 40 5 >> 3 の結果は? 0101 を 3ビット 右にシフトだから 0000 で 0 5 >>> 3 の結果は? 0101 を 3ビット 右にシフトで0のビットを左から埋めるから 0000 で 0
この辺、説明があって第1オペランドを指定したビット数分、指定された方向へシフトする
って言われても初心者は理解するのは少し難しいですよね。
# ごめんなさい、上記の例は右シフトの例がイマイチでした><
でビット演算を手軽にサクッと試すならブラウザのアドレスバー使おう!
以下をアドレスバーにコピペして下さい
javascript:alert(5&3); javascript:alert(5|3); javascript:alert(5^3); javascript:alert(~5); javascript:alert(5<<3); javascript:alert(5>>3); javascript:alert(5>>>3);
ビット演算を気軽に試したり、新入社員に教えたりするには良いと思います。