くだらない話はやめて、コードに直接取り組みましょう
<スクリプトタイプ="text/javascript">
//JavaScript 演算子
//1. ビット単位の否定~
var num1=25;//
var num2=~num1;//
アラート(num2)
var num3=10;
var num4=~num3;
アラート(num4)
var num5=99;
var num6=~num5;
アラート(num6)
//説明: bitwise~ (NOT):
の実装原理も皆さんも見たことがあると思います。
//num1 と num2 を説明オブジェクトとして取得します
//ステップ 1: num1 をバイナリに変換します
//ステップ 2: num1 のバイナリ補数を取得し、それを num2
に代入します。
//ステップ 3: num2 を 10 進数に変換します
//簡単な説明: オペランドの負の数を 1 減算するだけです
//2. ビット単位の AND & (AND)
var result=25 & 3;
アラート(結果);//1
//説明: 特定のルールに従って 2 つの数値を 2 進数に変換します:
//最初の値の桁 2 番目の値の桁 Result
// 1
// 1
// 0
// 0
//つまり、ビット演算子の対応するビットがすべて 1 の場合は 1 を返し、いずれかのビットが 0 の場合は 0 を返します。
//取得した 2 進数を 10 進数に変換します
// 25=0000 0000 0000 0000 0000 0000 0001 1001
// 3= 0000 0000 0000 0000 0000 0000 0000 0011
//
// AND=0000 0000 0000 0000 0000 0000 0000 0001
//3. ビット単位の OR (OR)
var 結果 = 25 |
アラート(結果);//27
//説明: 特定のルールに従って 2 つの数値を 2 進数に変換します:
//最初の値の桁 2 番目の値の桁 Result
// 1
// 1
// 0// 0
//要するに、ビット演算子は、対応するビットの 1 つが 1 の場合は 1 を返し、両方のビットが 0 の場合にのみ 0 を返します。
//取得した 2 進数を 10 進数に変換します
// 25=0000 0000 0000 0000 0000 0000 0001 1001
// 3= 0000 0000 0000 0000 0000 0000 0000 0011
//
// OR=0000 0000 0000 0000 0000 0000 0001 1011
//4. ビット単位の XOR ^ (XOR)
var result= 25 ^ 3;
アラート(結果);//26
//説明: 特定のルールに従って 2 つの数値を 2 進数に変換します:
//最初の値の桁 2 番目の値の桁 Result
// 1
// 1
// 0
// 0
// つまり、この演算子 (^) は、2 つの値の対応するビットに 1 が 1 つだけある場合は 1 を返し、それ以外の場合は 0 を返します。
//取得した 2 進数を 10 進数に変換します
// 25=0000 0000 0000 0000 0000 0000 0001 1001
// 3= 0000 0000 0000 0000 0000 0000 0000 0011
//
// XOR=0000 0000 0000 0000 0000 0000 0001 1010
//5. 左に移動 (<<)
var oldNum=2;
var newNum=oldNum <<
アラート(newNum)
//説明、2 (2 進数の 10) を左に 5 桁シフトすると、結果は 1000000 (2 進数) で 64
になります。
//左にシフトしても演算子の符号ビットには影響しないことに注意してください。たとえば、-2 を左に 5 ビットシフトすると、-64
になります。
//2=0000 0000 0000 0000 0000 0000 0000 0010
//64=0000 0000 0000 0000 0000 0000 010 00000
//6. 符号付き右シフト (>>)
var oldNum=64;
var newNum=oldNum >>
//64=0000 0000 0000 0000 0000 0000 010 00000
//2=0000 0000 0000 0000 0000 0000 0000 0010
アラート(newNum)
コメントでの説明が非常にわかりやすくなっています。JavaScript での演算子の使用法を理解していますか? 質問がある場合は、メッセージを残してください。