ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScriptでビットごとの否定を実行する方法
JavaScript では、「~」演算子を使用してビットごとの否定を実装できます。構文は「~ オペランド」です。「~」演算子は、指定されたオペランドをバイナリ整数形式に変換し、バイナリオペランドはビットごとに反転されます。
このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。
JavaScript では、「~」演算子を使用してビットごとの否定を実装できます。たとえば、~1 = -2、~-3=2、~true=-2、~false=-1
「~」演算子は、指定された値のバイナリ表現を表示し、バイナリを選択できます。オペランド ビットごとに否定演算を実行します。
ステップ 1: オペランドを 32 ビット 2 進整数に変換します。
ステップ 2: 反転演算を少しずつ実行します。
ステップ 3: 2 進数の 1 の補数を 10 進数の浮動小数点数に変換します。
12 に対してビット単位の NOT 演算を実行すると、戻り値は -13 になります。
console.log( ~ 12 ); //返回值-13
次の図は、12 に対してビット単位の NOT 演算を実行するプロセスを算術式の形式で解析したものです。
#ビットごとの反転の計算方法
ビットごとの反転演算ルールの手順: 1. 10 進数を元のコードに変換します。 元の 2 進数コードに変換します。最上位ビットは符号ビットです。0 は正の数、1 は負の数です。十进制 ----> 原码 1 ----> 00000001 -1 ----> 100000012. 元のコードを変換します。 code to Inverse code 正の数の逆コードは元のコード、負の数の逆コードは符号ビットを変更せず、残りのビットは反転されます
十进制 ----> 原码 ----> 反码 1 ----> 00000001 ----> 00000001 -1 ----> 10000001 ----> 111111103.逆コードを補数コードに変換します 正の数の補数は元のコードのままですが、負の数の補数はその補数に 1
十进制 ----> 原码 ----> 反码 ----> 补码 1 ----> 00000001 ----> 00000001 ----> 00000001 -1 ----> 10000001 ----> 11111110 ----> 11111111を加えたものです。補数を反転して元のコードを取得します。 整数
補数を反転した後の符号位置は 1 であり、負の整数であるため、負の整数の計算方法に従って補数が計算されます 元のコードを取得する逆演算 元のコード code を取得する逆演算。まず、逆補数を逆コードに変換します。
式: 逆コード = 補数 - 1 、反転されたコードを元のコードに変換します。符号ビットは変更されず、他のビットは反転されます 十进制 ----> 原码 ----> 反码 ----> 补码 ----> 补码取反 ----> 取反补码转成反码 ----> 转成原码
1 ----> 00000001 ----> 0000001 ----> 00000001 ----> 11111110 ----> 11111101 ----> 10000010
負の整数の補数を反転した後の符号位置は 0 となり、正の整数になります. 正の整数の補数と補数はそのままなので、逆演算を行う必要はありません
十进制 ----> 原码 ----> 反码 ----> 补码 ----> 补码取反得原码 -1 ----> 10000001 ----> 11111110 ----> 11111111 ----> 00000000
5. 元のコードをバイナリに変換します
十进制 ----> 原码 ----> 反码 ----> 补码 ----> 补码取反 ----> 取反补码转成反码 ----> 转成原码 ----> 转成二进制 1 ----> 00000001 ----> 0000001 ----> 00000001 ----> 11111110 ----> 11111101 ----> 10000010 ----> -2
十进制 ----> 原码 ----> 反码 ----> 补码 ----> 补码取反得原码 ----> 转成二进制 -1 ----> 10000001 ----> 11111110 ----> 11111111 ----> 00000000 ----> 0
否定とその後の否定の役割~~
演算子 ~ はビット単位の否定を意味します。表面、
(反転してから否定する) は意味がありませんが、実際には JS で実行できます。浮動小数点数を整数に変換します。
console.log(~~1.11); //1 console.log(~~-25.11); //-25【関連する推奨事項: JavaScript 学習チュートリアル
以上がJavaScriptでビットごとの否定を実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。