diff options
author | Masahiro FUJIMOTO <mfujimot@gmail.com> | 2021-09-28 01:22:59 +0900 |
---|---|---|
committer | Masahiro FUJIMOTO <mfujimot@gmail.com> | 2021-10-08 22:39:57 +0900 |
commit | 79e682a459820619ab4b2b371ea0a665ad588ca5 (patch) | |
tree | 841e071e9a611c373416730a96f0c68e6855a097 /files/ja/web/javascript/reference/operators/bitwise_not | |
parent | 637c6c8f8e048727dafc20583d30310bb036a0a4 (diff) | |
download | translated-content-79e682a459820619ab4b2b371ea0a665ad588ca5.tar.gz translated-content-79e682a459820619ab4b2b371ea0a665ad588ca5.tar.bz2 translated-content-79e682a459820619ab4b2b371ea0a665ad588ca5.zip |
ビット演算子の文書を更新
- 2021/07/21 時点の英語版に同期
Diffstat (limited to 'files/ja/web/javascript/reference/operators/bitwise_not')
-rw-r--r-- | files/ja/web/javascript/reference/operators/bitwise_not/index.md | 111 |
1 files changed, 42 insertions, 69 deletions
diff --git a/files/ja/web/javascript/reference/operators/bitwise_not/index.md b/files/ja/web/javascript/reference/operators/bitwise_not/index.md index ddd2d99c4d..3ff4b8e44c 100644 --- a/files/ja/web/javascript/reference/operators/bitwise_not/index.md +++ b/files/ja/web/javascript/reference/operators/bitwise_not/index.md @@ -2,101 +2,74 @@ title: ビット否定 (~) slug: Web/JavaScript/Reference/Operators/Bitwise_NOT tags: - - Bitwise operator + - ビット演算子 - JavaScript - - Language feature - - Operator - - Reference - - 演算子 - 言語機能 + - 演算子 + - Reference +browser-compat: javascript.operators.bitwise_not translation_of: Web/JavaScript/Reference/Operators/Bitwise_NOT --- -<div>{{jsSidebar("Operators")}}</div> - -<p>ビット否定演算子 (<code>~</code>) は、オペランドの各ビットを反転します。</p> - -<div>{{EmbedInteractiveExample("pages/js/expressions-bitwise-not.html")}}</div> +{{jsSidebar("Operators")}} -<div></div> +ビット否定演算子 (`~`) は、オペランドの各ビットを反転します。他のビット演算子と同様、オペランドを 32 ビット符号付き整数に変換します。 +{{EmbedInteractiveExample("pages/js/expressions-bitwise-not.html")}} +## 構文 -<h2 id="構文">構文</h2> +```js +~a +``` -<pre class="syntaxbox notranslate"><code><var>~a</var></code> -</pre> +## 解説 -<h2 id="解説">解説</h2> +オペランドは 32 ビットの整数値に変換され、ビット (ゼロまたは 1) の並びによって表現されます。32 ビットを超える数値は最上位のビットが破棄されます。例えば、次の 32 ビットを超える整数は 32 ビット整数に変換されます。 -<p>オペランドは32ビットの整数値に変換され、ビット (ゼロまたは1) の並びによって表現されます。32ビットを超える数値は最上位のビットが破棄されます。例えば、次の32ビットを超える整数は32ビット整数に変換されます。</p> +```js +変換前: 11100110111110100000000000000110000000000001 +変換後: 10100000000000000110000000000001 +``` -<pre class="brush: js notranslate">変換前: 11100110111110100000000000000110000000000001 -変換後: 10100000000000000110000000000001</pre> +オペランドの各ビットが反転されて結果になります。 -<p>第1オペランドの各ビットは、第2オペランドの対応するビットと組み合わせになります。<em>第1ビット</em>は<em>第1ビット</em>へ、<em>第2ビット</em>は<em>第2ビット</em>へ、という具合にです。</p> +`NOT` 演算の真理値表は次のようになります。 -<p>この演算子は各ビットの組み合わせに適用され、結果はビット単位に構築されます。</p> +| a | NOT a | +| --- | ----- | +| 0 | 1 | +| 1 | 0 | -<p><code>NOT</code> 演算の真理値表は次のようになります。</p> - -<table class="standard-table"> - <thead> - <tr> - <th class="header" scope="col">a</th> - <th class="header" scope="col">NOT a</th> - </tr> - </thead> - <tbody> - <tr> - <td>0</td> - <td>1</td> - </tr> - <tr> - <td>1</td> - <td>0</td> - </tr> - </tbody> -</table> - -<pre class="brush: js notranslate"> 9 (10進数) = 00000000000000000000000000001001 (2進数) +```js + 9 (10 進数) = 00000000000000000000000000001001 (2 進数) -------------------------------- -~9 (10進数) = 11111111111111111111111111110110 (2進数) = -10 (10進数) -</pre> +~9 (10 進数) = 11111111111111111111111111110110 (2 進数) = -10 (10 進数) +``` + +32 ビット符号付き整数のオペランドは、[2 の補数](https://ja.wikipedia.org/wiki/2%E3%81%AE%E8%A3%9C%E6%95%B0)によって反転されます。すなわち、最上位ビットが負の数であることを表します。 -<p>ある数 <code>x</code> のビット否定 は <code>-(x + 1)</code> になります。例えば、<code>~-5</code> は <code>4</code> になります。</p> +ある数 `x` のビット否定 は `-(x + 1)` になります。例えば、`~-5` は `4` になります。 -<p>数値に32ビット表現を使用するため <code>~-1</code> および <code>~4294967295</code> (2<sup>32</sup>-1) はいずれも <code>0</code> になることに注意してください。</p> +数値に 32 ビット表現を使用するため `~-1` および `~4294967295` (2^32 - 1) はいずれも `0` になることに注意してください。 -<h2 id="例">例</h2> +## 例 -<h3 id="ビット否定の使用">ビット否定の使用</h3> +### ビット否定の使用 -<pre class="brush: js notranslate">~0; // -1 +```js +~0; // -1 ~-1; // 0 ~1; // -2 -</pre> - -<h2 id="仕様">仕様</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">仕様書</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-unary-operators', 'Unary NOT expression')}}</td> - </tr> - </tbody> -</table> +``` -<h2 id="ブラウザーの互換性">ブラウザーの互換性</h2> +## 仕様書 +{{Specifications}} +## ブラウザーの互換性 -<p>{{Compat("javascript.operators.bitwise_not")}}</p> +{{Compat}} -<h2 id="関連情報">関連情報</h2> +## 関連情報 -<ul> - <li><a href="/ja/docs/Web/JavaScript/Guide/Expressions_and_Operators#Bitwise_operators">ビット演算子ガイド</a></li> -</ul> +- [ビット演算子 (JavaScript ガイド)](/ja/docs/Web/JavaScript/Guide/Expressions_and_Operators#bitwise) |