aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web
diff options
context:
space:
mode:
authorMasahiro FUJIMOTO <mfujimot@gmail.com>2021-09-28 01:22:59 +0900
committerMasahiro FUJIMOTO <mfujimot@gmail.com>2021-10-08 22:39:57 +0900
commit79e682a459820619ab4b2b371ea0a665ad588ca5 (patch)
tree841e071e9a611c373416730a96f0c68e6855a097 /files/ja/web
parent637c6c8f8e048727dafc20583d30310bb036a0a4 (diff)
downloadtranslated-content-79e682a459820619ab4b2b371ea0a665ad588ca5.tar.gz
translated-content-79e682a459820619ab4b2b371ea0a665ad588ca5.tar.bz2
translated-content-79e682a459820619ab4b2b371ea0a665ad588ca5.zip
ビット演算子の文書を更新
- 2021/07/21 時点の英語版に同期
Diffstat (limited to 'files/ja/web')
-rw-r--r--files/ja/web/javascript/reference/operators/bitwise_and/index.md149
-rw-r--r--files/ja/web/javascript/reference/operators/bitwise_not/index.md111
-rw-r--r--files/ja/web/javascript/reference/operators/bitwise_or/index.md149
-rw-r--r--files/ja/web/javascript/reference/operators/bitwise_xor/index.md149
-rw-r--r--files/ja/web/javascript/reference/operators/left_shift/index.md78
-rw-r--r--files/ja/web/javascript/reference/operators/right_shift/index.md84
-rw-r--r--files/ja/web/javascript/reference/operators/unsigned_right_shift/index.md86
7 files changed, 318 insertions, 488 deletions
diff --git a/files/ja/web/javascript/reference/operators/bitwise_and/index.md b/files/ja/web/javascript/reference/operators/bitwise_and/index.md
index 3d9615a528..dc691cf4e6 100644
--- a/files/ja/web/javascript/reference/operators/bitwise_and/index.md
+++ b/files/ja/web/javascript/reference/operators/bitwise_and/index.md
@@ -2,111 +2,76 @@
title: ビット論理積 (&)
slug: Web/JavaScript/Reference/Operators/Bitwise_AND
tags:
- - Bitwise operator
+ - ビット演算子
- JavaScript
- - Language feature
- - Operator
- - Reference
- - 演算子
- 言語機能
+ - 演算子
+ - Reference
+browser-compat: javascript.operators.bitwise_and
translation_of: Web/JavaScript/Reference/Operators/Bitwise_AND
---
-<div>{{jsSidebar("Operators")}}</div>
-
-<p>ビット論理積演算子 (<code>&amp;</code>) は、両方のオペランドの対応するビットのいずれもが <code>1</code> である位置のビットで <code>1</code> を返します。</p>
-
-<div>{{EmbedInteractiveExample("pages/js/expressions-bitwise-and.html")}}</div>
-
-<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力していただける場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div>
-
-<h2 id="Syntax" name="Syntax">構文</h2>
-
-<pre class="syntaxbox notranslate"><code><var>a</var> &amp; <var>b</var></code>
-</pre>
-
-<h2 id="Description" name="Description">解説</h2>
-
-<p>オペランドは32ビットの整数値に変換され、ビット (ゼロまたは1) の並びによって表現されます。32ビットを超える数値は最上位のビットが破棄されます。例えば、次の32ビットを超える整数は32ビット整数に変換されます。</p>
-
-<pre class="brush: js notranslate">変換前: 11100110111110100000000000000110000000000001
-変換後: 10100000000000000110000000000001</pre>
-
-<p>第1オペランドの各ビットは、第2オペランドの対応するビットと組み合わせになります。<em>第1ビット</em>は<em>第1ビット</em>へ、<em>第2ビット</em>は<em>第2ビット</em>へ、という具合にです。</p>
-
-<p>この演算子は各ビットの組み合わせに適用され、結果はビット単位で構築されます。</p>
-
-<p>AND 演算の真理値表は次のようになります。</p>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th class="header" scope="col">a</th>
- <th class="header" scope="col">b</th>
- <th class="header" scope="col">a AND b</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>0</td>
- <td>0</td>
- <td>0</td>
- </tr>
- <tr>
- <td>0</td>
- <td>1</td>
- <td>0</td>
- </tr>
- <tr>
- <td>1</td>
- <td>0</td>
- <td>0</td>
- </tr>
- <tr>
- <td>1</td>
- <td>1</td>
- <td>1</td>
- </tr>
- </tbody>
-</table>
-
-<pre class="brush: js notranslate">. 9 (10進数) = 00000000000000000000000000001001 (2進数)
- 14 (10進数) = 00000000000000000000000000001110 (2進数)
+{{jsSidebar("Operators")}}
+
+ビット論理積演算子 (`&`) は、両方のオペランドの対応するビットのいずれもが `1` である位置のビットで `1` を返します。
+
+{{EmbedInteractiveExample("pages/js/expressions-bitwise-and.html")}}
+
+## 構文
+
+```js
+a & b
+```
+
+## 解説
+
+オペランドは 32 ビットの整数値に変換され、ビット (ゼロまたは 1) の並びによって表現されます。32 ビットを超える数値は最上位のビットが破棄されます。例えば、次の 32 ビットを超える整数は 32 ビット整数に変換されます。
+
+```js
+変換前: 11100110111110100000000000000110000000000001
+変換後: 10100000000000000110000000000001
+```
+
+第 1 オペランドの各ビットは、第 2 オペランドの対応するビットと組みになります。*第 1 ビット*は*第 1 ビット*へ、*第 2 ビット*は*第 2 ビット*へ、という具合にです。
+
+この演算子は各ビットの組み合わせに適用され、結果はビット単位で構築されます。
+
+AND 演算の真理値表は次のようになります。
+
+| a | b | a AND b |
+| --- | --- | ------- |
+| 0 | 0 | 0 |
+| 0 | 1 | 0 |
+| 1 | 0 | 0 |
+| 1 | 1 | 1 |
+
+```js
+. 9 (10 進数) = 00000000000000000000000000001001 (2 進数)
+ 14 (10 進数) = 00000000000000000000000000001110 (2 進数)
--------------------------------
-14 | 9 (10進数) = 00000000000000000000000000001000 (2進数) = 8 (10進数)
-</pre>
+14 & 9 (10 進数) = 00000000000000000000000000001000 (2 進数) = 8 (10 進数)
+```
-<p>任意の <code><var>x</var></code> と <code>0</code> のビット論理積は <code>0</code> になります。</p>
+任意の `x` と `0` のビット論理積は `0` になります。
-<h2 id="Examples" name="Examples">例</h2>
+## 例
-<h3 id="Using_bitwise_AND" name="Using_bitwise_AND">ビット論理積の使用</h3>
+### ビット論理積の使用
-<pre class="brush: js notranslate">// 5: 00000000000000000000000000000101
+```js
+// 5: 00000000000000000000000000000101
// 2: 00000000000000000000000000000010
-5 &amp; 2; // 0</pre>
+5 & 2; // 0
+```
-<h2 id="Specifications" name="Specifications">仕様書</h2>
+## 仕様書
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">仕様書</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{SpecName('ESDraft', '#prod-BitwiseANDExpression', 'Bitwise AND expression')}}</td>
- </tr>
- </tbody>
-</table>
+{{Specifications}}
-<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2>
+## ブラウザーの互換性
-<p>{{Compat("javascript.operators.bitwise_and")}}</p>
+{{Compat}}
-<h2 id="See_also" name="See_also">関連情報</h2>
+## 関連情報
-<ul>
- <li><a href="/ja/docs/Web/JavaScript/Guide/Expressions_and_Operators#Bitwise_operators">ビット演算子ガイド</a></li>
- <li><a href="/ja/docs/Web/JavaScript/Reference/Operators/Bitwise_AND_assignment">ビット論理積代入演算子</a></li>
-</ul>
+- [ビット演算子 (JavaScript ガイド)](/ja/docs/Web/JavaScript/Guide/Expressions_and_Operators#bitwise)
+- [ビット論理積代入演算子](/ja/docs/Web/JavaScript/Reference/Operators/Bitwise_AND_assignment)
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)
diff --git a/files/ja/web/javascript/reference/operators/bitwise_or/index.md b/files/ja/web/javascript/reference/operators/bitwise_or/index.md
index d19e7be3bf..95167c0c42 100644
--- a/files/ja/web/javascript/reference/operators/bitwise_or/index.md
+++ b/files/ja/web/javascript/reference/operators/bitwise_or/index.md
@@ -2,113 +2,78 @@
title: ビット論理和 (|)
slug: Web/JavaScript/Reference/Operators/Bitwise_OR
tags:
- - Bitwise operator
+ - ビット演算子
- JavaScript
- - Language feature
- - Operator
- - Reference
- - 演算子
- 言語機能
+ - 演算子
+ - Reference
+browser-compat: javascript.operators.bitwise_or
translation_of: Web/JavaScript/Reference/Operators/Bitwise_OR
---
-<div>{{jsSidebar("Operators")}}</div>
-
-<p>ビット論理和演算子 (<code>|</code>) は、両方のオペランドの対応するビットのどちらか一方が <code>1</code> である位置のビットで <code>1</code> を返します。</p>
-
-<div>{{EmbedInteractiveExample("pages/js/expressions-bitwise-or.html")}}</div>
-
-<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力していただける場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div>
-
-<h2 id="Syntax" name="Syntax">構文</h2>
-
-<pre class="syntaxbox notranslate"><code><var>a</var> | <var>b</var></code>
-</pre>
-
-<h2 id="Description" name="Description">解説</h2>
-
-<p>オペランドは32ビットの整数値に変換され、ビット (ゼロまたは1) の並びによって表現されます。32ビットを超える数値は最上位のビットが破棄されます。例えば、次の32ビットを超える整数は32ビット整数に変換されます。</p>
-
-<pre class="brush: js notranslate">変換前: 11100110111110100000000000000110000000000001
-変換後: 10100000000000000110000000000001</pre>
-
-<p>第1オペランドの各ビットは、第2オペランドの対応するビットと組み合わせになります。<em>第1ビット</em>は<em>第1ビット</em>へ、<em>第2ビット</em>は<em>第2ビット</em>へ、という具合にです。</p>
-
-<p>この演算子は各ビットの組み合わせに適用され、結果はビット単位で構築されます。</p>
-
-<p>OR 演算の真理値表は次のようになります。</p>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th class="header" scope="col">a</th>
- <th class="header" scope="col">b</th>
- <th class="header" scope="col">a OR b</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>0</td>
- <td>0</td>
- <td>0</td>
- </tr>
- <tr>
- <td>0</td>
- <td>1</td>
- <td>1</td>
- </tr>
- <tr>
- <td>1</td>
- <td>0</td>
- <td>1</td>
- </tr>
- <tr>
- <td>1</td>
- <td>1</td>
- <td>1</td>
- </tr>
- </tbody>
-</table>
-
-<pre class="brush: js notranslate">. 9 (10進数) = 00000000000000000000000000001001 (2進数)
- 14 (10進数) = 00000000000000000000000000001110 (2進数)
+{{jsSidebar("Operators")}}
+
+ビット論理和演算子 (`|`) は、両方のオペランドの対応するビットのどちらか一方が `1` である位置のビットで `1` を返します。
+
+{{EmbedInteractiveExample("pages/js/expressions-bitwise-or.html")}}
+
+## 構文
+
+```js
+a | b
+```
+
+## 解説
+
+オペランドは 32 ビットの整数値に変換され、ビット (ゼロまたは 1) の並びによって表現されます。32 ビットを超える数値は最上位のビットが破棄されます。例えば、次の 32 ビットを超える整数は 32 ビット整数に変換されます。
+
+```js
+変換前: 11100110111110100000000000000110000000000001
+変換後: 10100000000000000110000000000001
+```
+
+第 1 オペランドの各ビットは、第 2 オペランドの対応するビットと組みになります。*第 1 ビット*は*第 1 ビット*へ、*第 2 ビット*は*第 2 ビット*へ、という具合にです。
+
+この演算子は各ビットの組み合わせに適用され、結果はビット単位で構築されます。
+
+OR 演算の真理値表は次のようになります。
+
+| a | b | a OR b |
+| --- | --- | ------ |
+| 0 | 0 | 0 |
+| 0 | 1 | 1 |
+| 1 | 0 | 1 |
+| 1 | 1 | 1 |
+
+```js
+. 9 (10 進数) = 00000000000000000000000000001001 (2 進数)
+ 14 (10 進数) = 00000000000000000000000000001110 (2 進数)
--------------------------------
-14 | 9 (10進数) = 00000000000000000000000000001111 (2進数) = 15 (10進数)
-</pre>
+14 | 9 (10 進数) = 00000000000000000000000000001111 (2 進数) = 15 (10 進数)
+```
-<p>ある数 <code><var>x</var></code> と <code>0</code> のビット論理和は <code><var>x</var></code> になります。</p>
+ある数 `x` と `0` のビット論理和は `x` になります。
-<h2 id="Examples" name="Examples">例</h2>
+## 例
-<h3 id="Using_bitwise_OR" name="Using_bitwise_OR">ビット論理和の使用</h3>
+### ビット論理和の使用
-<pre class="brush: js notranslate">// 9 (00000000000000000000000000001001)
+```js
+// 9 (00000000000000000000000000001001)
// 14 (00000000000000000000000000001110)
14 | 9;
-// 15 (00000000000000000000000000001111)</pre>
+// 15 (00000000000000000000000000001111)
+```
-<h2 id="Specifications" name="Specifications">仕様</h2>
+## 仕様書
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">仕様書</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{SpecName('ESDraft', '#prod-BitwiseORExpression', 'Bitwise OR expression')}}</td>
- </tr>
- </tbody>
-</table>
+{{Specifications}}
-<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2>
+## ブラウザーの互換性
-<p>{{Compat("javascript.operators.bitwise_or")}}</p>
+{{Compat}}
-<h2 id="See_also" name="See_also">関連情報</h2>
+## 関連情報
-<ul>
- <li><a href="/ja/docs/Web/JavaScript/Guide/Expressions_and_Operators#Bitwise">ビット演算子ガイド</a></li>
- <li><a href="/ja/docs/Web/JavaScript/Reference/Operators/Bitwise_OR_assignment">ビット論理和代入演算子</a></li>
-</ul>
+- [ビット演算子 (JavaScript ガイド)](/ja/docs/Web/JavaScript/Guide/Expressions_and_Operators#bitwise)
+- [ビット論理和代入演算子](/ja/docs/Web/JavaScript/Reference/Operators/Bitwise_OR_assignment)
diff --git a/files/ja/web/javascript/reference/operators/bitwise_xor/index.md b/files/ja/web/javascript/reference/operators/bitwise_xor/index.md
index 684a987458..904bffe61d 100644
--- a/files/ja/web/javascript/reference/operators/bitwise_xor/index.md
+++ b/files/ja/web/javascript/reference/operators/bitwise_xor/index.md
@@ -2,113 +2,78 @@
title: ビット排他的論理和 (^)
slug: Web/JavaScript/Reference/Operators/Bitwise_XOR
tags:
- - Bitwise operator
+ - ビット演算子
- JavaScript
- - Language feature
- - Operator
- - Reference
- - 演算子
- 言語機能
+ - 演算子
+ - Reference
+browser-compat: javascript.operators.bitwise_xor
translation_of: Web/JavaScript/Reference/Operators/Bitwise_XOR
---
-<div>{{jsSidebar("Operators")}}</div>
-
-<p>ビット排他的論理和演算子 (<code>^</code>) は、両方のオペランドの対応するビットの一方だけが <code>1</code> である位置のビットで <code>1</code> を返します。</p>
-
-<div>{{EmbedInteractiveExample("pages/js/expressions-bitwise-xor.html")}}</div>
-
-<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力していただける場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div>
-
-<h2 id="Syntax" name="Syntax">構文</h2>
-
-<pre class="syntaxbox notranslate"><code><var>a</var> ^ <var>b</var></code>
-</pre>
-
-<h2 id="Description" name="Description">解説</h2>
-
-<p>オペランドは32ビットの整数値に変換され、ビット (ゼロまたは1) の並びによって表現されます。32ビットを超える数値は最上位のビットが破棄されます。例えば、次の32ビットを超える整数は32ビット整数に変換されます。</p>
-
-<pre class="brush: js notranslate">変換前: 11100110111110100000000000000110000000000001
-変換後: 10100000000000000110000000000001</pre>
-
-<p>第1オペランドの各ビットは、第2オペランドの対応するビットと組み合わせになります。<em>第1ビット</em>は<em>第1ビット</em>へ、<em>第2ビット</em>は<em>第2ビット</em>へ、という具合にです。</p>
-
-<p>この演算子は各ビットの組み合わせに適用され、結果はビット単位に構築されます。</p>
-
-<p>XOR 演算の真理値表は次のようになります。</p>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th class="header" scope="col">a</th>
- <th class="header" scope="col">b</th>
- <th class="header" scope="col">a XOR b</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>0</td>
- <td>0</td>
- <td>0</td>
- </tr>
- <tr>
- <td>0</td>
- <td>1</td>
- <td>1</td>
- </tr>
- <tr>
- <td>1</td>
- <td>0</td>
- <td>1</td>
- </tr>
- <tr>
- <td>1</td>
- <td>1</td>
- <td>0</td>
- </tr>
- </tbody>
-</table>
-
-<pre class="brush: js notranslate">. 9 (10進数) = 00000000000000000000000000001001 (2進数)
- 14 (10進数) = 00000000000000000000000000001110 (2進数)
+{{jsSidebar("Operators")}}
+
+ビット排他的論理和演算子 (`^`) は、両方のオペランドの対応するビットの一方だけが `1` である位置のビットで `1` を返します。
+
+{{EmbedInteractiveExample("pages/js/expressions-bitwise-xor.html")}}
+
+## 構文
+
+```js
+a ^ b
+```
+
+## 解説
+
+オペランドは 32 ビットの整数値に変換され、ビット (ゼロまたは 1) の並びによって表現されます。32 ビットを超える数値は最上位のビットが破棄されます。例えば、次の 32 ビットを超える整数は 32 ビット整数に変換されます。
+
+```js
+変換前: 11100110111110100000000000000110000000000001
+変換後: 10100000000000000110000000000001
+```
+
+第 1 オペランドの各ビットは、第 2 オペランドの対応するビットと組みになります。*第 1 ビット*は*第 1 ビット*へ、*第 2 ビット*は*第 2 ビット*へ、という具合にです。
+
+この演算子は各ビットの組み合わせに適用され、結果はビット単位で構築されます。
+
+XOR 演算の真理値表は次のようになります。
+
+| a | b | a XOR b |
+| --- | --- | ------- |
+| 0 | 0 | 0 |
+| 0 | 1 | 1 |
+| 1 | 0 | 1 |
+| 1 | 1 | 0 |
+
+```js
+ 9 (10 進数) = 00000000000000000000000000001001 (2 進数)
+ 14 (10 進数) = 00000000000000000000000000001110 (2 進数)
--------------------------------
-14 ^ 9 (10進数) = 00000000000000000000000000000111 (2進数) = 7 (10進数)
-</pre>
+14 ^ 9 (10 進数) = 00000000000000000000000000000111 (2 進数) = 7 (10 進数)
+```
-<p>ある数 <code><var>x</var></code> と <code>0</code> のビット排他的論理和は <code><var>x</var></code> になります。</p>
+ある数 `x` と `0` のビット排他的論理和は `x` になります。
-<h2 id="Examples" name="Examples">例</h2>
+## 例
-<h3 id="Using_bitwise_XOR" name="Using_bitwise_XOR">ビット排他的論理和の使用</h3>
+### ビット排他的論理和の使用
-<pre class="brush: js notranslate">// 9 (00000000000000000000000000001001)
+```js
+// 9 (00000000000000000000000000001001)
// 14 (00000000000000000000000000001110)
14 ^ 9;
-// 7 (00000000000000000000000000000111)</pre>
+// 7 (00000000000000000000000000000111)
+```
-<h2 id="Specifications" name="Specifications">仕様</h2>
+## 仕様書
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">仕様書</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{SpecName('ESDraft', '#prod-BitwiseXORExpression', 'Bitwise XOR expression')}}</td>
- </tr>
- </tbody>
-</table>
+{{Specifications}}
-<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2>
+## ブラウザーの互換性
-<p>{{Compat("javascript.operators.bitwise_xor")}}</p>
+{{Compat}}
-<h2 id="See_also" name="See_also">関連情報</h2>
+## 関連情報
-<ul>
- <li><a href="/ja/docs/Web/JavaScript/Guide/Expressions_and_Operators#Bitwise">ビット演算子ガイド</a></li>
- <li><a href="/ja/docs/Web/JavaScript/Reference/Operators/Bitwise_XOR_assignment">ビット排他的論理和代入演算子</a></li>
-</ul>
+- [ビット演算子 (JavaScript ガイド)](/ja/docs/Web/JavaScript/Guide/Expressions_and_Operators#bitwise)
+- [ビット排他的論理和代入演算子](/ja/docs/Web/JavaScript/Reference/Operators/Bitwise_XOR_assignment)
diff --git a/files/ja/web/javascript/reference/operators/left_shift/index.md b/files/ja/web/javascript/reference/operators/left_shift/index.md
index e0f494ba5a..0e8b1420a8 100644
--- a/files/ja/web/javascript/reference/operators/left_shift/index.md
+++ b/files/ja/web/javascript/reference/operators/left_shift/index.md
@@ -2,74 +2,60 @@
title: 左シフト (<<)
slug: Web/JavaScript/Reference/Operators/Left_shift
tags:
- - Bitwise operator
- - JavaScript
- - Language feature
- - Operator
- - Reference
- ビット演算子
- - 演算子
+ - JavaScript
- 言語機能
+ - 演算子
+ - Reference
+browser-compat: javascript.operators.left_shift
translation_of: Web/JavaScript/Reference/Operators/Left_shift
---
-<div>{{jsSidebar("Operators")}}</div>
-
-<p><strong>左シフト演算子 (<code>&lt;&lt;</code>)</strong>は、1つ目のオペランドを指定されたビット数だけ左にずらします。左にずらしてあふれたビットは廃棄されます。0のビットが右からずれて入ります。</p>
+{{jsSidebar("Operators")}}
-<div>{{EmbedInteractiveExample("pages/js/expressions-left-shift.html")}}</div>
+**左シフト演算子 (`<<`)** は、1 つ目のオペランドを指定されたビット数だけ左にずらします。左にずらしてあふれたビットは廃棄されます。0 のビットが右からずれて入ります。
-<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力していただける場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div>
+{{EmbedInteractiveExample("pages/js/expressions-left-shift.html")}}
-<h2 id="Syntax" name="Syntax">構文</h2>
+## 構文
-<pre class="syntaxbox notranslate"><code><var>a</var> &lt;&lt; <var>b</var></code>
-</pre>
+```js
+a << b
+```
-<h2 id="Description" name="Description">解説</h2>
+## 解説
-<p>この演算子は、1つ目のオペランドを指定されたビット数だけ左にずらします。左にずらしてあふれたビットは廃棄されます。0のビットが右からずれて入ります。</p>
+この演算子は、1 つ目のオペランドを指定されたビット数だけ左にずらします。左にずらしてあふれたビットは廃棄されます。 0 のビットが右からずれて入ります。
-<p>例えば <code>9 &lt;&lt; 2</code> は 36 になります。</p>
+例えば `9 << 2` は 36 になります。
-<pre class="brush: js notranslate">. 9 (10進数): 00000000000000000000000000001001 (2進数)
+```js
+. 9 (10 進数): 00000000000000000000000000001001 (2 進数)
--------------------------------
-9 &lt;&lt; 2 (10進数): 00000000000000000000000000100100 (2進数) = 36 (10進数)
-</pre>
+9 << 2 (10 進数): 00000000000000000000000000100100 (2 進数) = 36 (10 進数)
+```
-<p>任意の数 <code>x</code> を <code>y</code> ビット分だけ左にビット単位にずらすと、 <code>x * 2 ** y</code> になります。<br>
- ですから、例えば <code>9 &lt;&lt; 3</code> は <code>9 * (2 ** 3) = 9 * (8) = 72</code> になります。</p>
+任意の数 `x` を `y` ビット分だけ左にビット単位にずらすと、 `x * 2 ** y` になります。
+ ですから、例えば `9 << 3` は `9 * (2 ** 3) = 9 * (8) = 72` になります。
-<h2 id="Examples" name="Examples">例</h2>
+## 例
-<h3 id="Using_left_shift" name="Using_left_shift">左シフトの使用</h3>
+### 左シフトの使用
-<pre class="brush: js notranslate">9 &lt;&lt; 3; // 72
+```js
+9 << 3; // 72
// 9 * (2 ** 3) = 9 * (8) = 72
-</pre>
+```
-<h2 id="Specifications" name="Specifications">仕様書</h2>
+## 仕様書
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">仕様書</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-bitwise-shift-operators', 'Bitwise Shift Operators')}}</td>
- </tr>
- </tbody>
-</table>
+{{Specifications}}
-<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2>
+## ブラウザーの互換性
-<p>{{Compat("javascript.operators.left_shift")}}</p>
+{{Compat}}
-<h2 id="See_also" name="See_also">関連情報</h2>
+## 関連情報
-<ul>
- <li><a href="/ja/docs/Web/JavaScript/Guide/Expressions_and_Operators#Bitwise">JavaScript ガイドのビット毎演算子</a></li>
- <li><a href="/ja/docs/Web/JavaScript/Reference/Operators/Left_shift_assignment">左シフト代入演算子</a></li>
-</ul>
+- [ビット演算子 (JavaScript ガイド)](/ja/docs/Web/JavaScript/Guide/Expressions_and_Operators#bitwise)
+- [左シフト代入演算子](/ja/docs/Web/JavaScript/Reference/Operators/Left_shift_assignment)
diff --git a/files/ja/web/javascript/reference/operators/right_shift/index.md b/files/ja/web/javascript/reference/operators/right_shift/index.md
index fa01116c74..ced5e93c2b 100644
--- a/files/ja/web/javascript/reference/operators/right_shift/index.md
+++ b/files/ja/web/javascript/reference/operators/right_shift/index.md
@@ -2,76 +2,64 @@
title: 右シフト (>>)
slug: Web/JavaScript/Reference/Operators/Right_shift
tags:
- - Bitwise operator
+ - ビット演算子
- JavaScript
- - Language feature
- - Operator
- - Reference
- - 演算子
- 言語機能
+ - 演算子
+ - Reference
+browser-compat: javascript.operators.right_shift
translation_of: Web/JavaScript/Reference/Operators/Right_shift
---
-<div>{{jsSidebar("Operators")}}</div>
-
-<p><strong>右シフト演算子 (<code>&gt;&gt;</code>)</strong> (ゼロ埋め右シフト) は、1つ目のオペランドを指定されたビット数だけ右にずらします。右にずらしてあふれたビットは廃棄されます。最も左のビットをコピーしながらずれて入ります。最も左のビットが以前の最も左のビットと同じになるため、符号ビット (最も左のビット) は変化しません。よって「符号維持」という名前です。</p>
+{{jsSidebar("Operators")}}
-<div>{{EmbedInteractiveExample("pages/js/expressions-right-shift.html")}}</div>
+**右シフト演算子 (`>>`)** は、1つ目のオペランドを指定されたビット数だけ右にずらします。右にずらしてあふれたビットは廃棄されます。最も左のビットをコピーしながらずれて入ります。最も左のビットが以前の最も左のビットと同じになるため、符号ビット (最も左のビット) は変化しません。よって「符号維持」という名前です。
-<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力していただける場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div>
+{{EmbedInteractiveExample("pages/js/expressions-right-shift.html")}}
-<h2 id="Syntax" name="Syntax">構文</h2>
+## 構文
-<pre class="syntaxbox notranslate"><code><var>a</var> &gt;&gt; <var>b</var></code>
-</pre>
+```js
+a >> b
+```
-<h2 id="Description" name="Description">解説</h2>
+## 解説
-<p>この演算子は、1つ目のオペランドを指定されたビット数だけ右にずらします。右にずらしてあふれたビットは廃棄されます。最も左のビットをコピーしながらずれて入ります。最も左のビットが以前の最も左のビットと同じになるため、符号ビット (最も左のビット) は変化しません。よって「符号維持」という名前です。</p>
+この演算子は、1 つ目のオペランドを指定されたビット数だけ右にずらします。右にずらしてあふれたビットは廃棄されます。最も左のビットをコピーしながらずれて入ります。最も左のビットが以前の最も左のビットと同じになるため、符号ビット (最も左のビット) は変化しません。よって「符号維持」という名前です。
-<p>例えば、 <code>9 &gt;&gt;&gt; 2</code> は 2 となります。</p>
+例えば、 `9 >> 2` は 2 となります。
-<pre class="brush: js notranslate">. 9 (10進数): 00000000000000000000000000001001 (2進数)
+```js
+. 9 (10 進数): 00000000000000000000000000001001 (2 進数)
--------------------------------
-9 &gt;&gt;&gt; 2 (10進数): 00000000000000000000000000000010 (2進数) = 2 (10進数)
-</pre>
+9 >> 2 (10 進数): 00000000000000000000000000000010 (2 進数) = 2 (10 進数)
+```
-<p>同様に、 <code>-9 &gt;&gt; 2</code> は符号が保存されるため、 <code>-3</code> になります。</p>
+同様に、 `-9 >> 2` は符号が保存されるため、 `-3` になります。
-<pre class="brush: js notranslate">. -9 (10進数): 11111111111111111111111111110111 (2進数)
+```js
+. -9 (10 進数): 11111111111111111111111111110111 (2 進数)
--------------------------------
--9 &gt;&gt; 2 (10進数): 11111111111111111111111111111101 (2進数) = -3 (10進数)
-</pre>
+-9 >> 2 (10 進数): 11111111111111111111111111111101 (2 進数) = -3 (10 進数)
+```
-<h2 id="Examples" name="Examples">例</h2>
+## 例
-<h3 id="Using_right_shift" name="Using_right_shift">右シフトの使用</h3>
+### 右シフトの使用
-<pre class="brush: js notranslate"> 9 &gt;&gt; 2; // 2
--9 &gt;&gt; 2; // -3
-</pre>
+```js
+ 9 >> 2; // 2
+-9 >> 2; // -3
+```
-<h2 id="Specifications" name="Specifications">仕様書</h2>
+## 仕様書
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">仕様書</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-bitwise-shift-operators', 'Bitwise Shift Operators')}}</td>
- </tr>
- </tbody>
-</table>
+{{Specifications}}
-<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2>
+## ブラウザーの互換性
-<p>{{Compat("javascript.operators.right_shift")}}</p>
+{{Compat}}
-<h2 id="See_also" name="See_also">関連情報</h2>
+## 関連情報
-<ul>
- <li><a href="/ja/docs/Web/JavaScript/Guide/Expressions_and_Operators#Bitwise">JavaScript ガイドのビット毎演算子</a></li>
- <li><a href="/ja/docs/Web/JavaScript/Reference/Operators/Right_shift_assignment">右シフト代入演算子</a></li>
-</ul>
+- [ビット演算子 (JavaScript ガイド)](/ja/docs/Web/JavaScript/Guide/Expressions_and_Operators#bitwise)
+- [右シフト代入演算子](/ja/docs/Web/JavaScript/Reference/Operators/Right_shift_assignment)
diff --git a/files/ja/web/javascript/reference/operators/unsigned_right_shift/index.md b/files/ja/web/javascript/reference/operators/unsigned_right_shift/index.md
index 7e0c7aa258..564f0c257d 100644
--- a/files/ja/web/javascript/reference/operators/unsigned_right_shift/index.md
+++ b/files/ja/web/javascript/reference/operators/unsigned_right_shift/index.md
@@ -2,76 +2,64 @@
title: 符号なし右シフト (>>>)
slug: Web/JavaScript/Reference/Operators/Unsigned_right_shift
tags:
- - Bitwise operator
+ - ビット演算子
- JavaScript
- - Language feature
- - Operator
- - Reference
- - 演算子
- 言語機能
+ - 演算子
+ - Reference
+browser-compat: javascript.operators.unsigned_right_shift
translation_of: Web/JavaScript/Reference/Operators/Unsigned_right_shift
---
-<div>{{jsSidebar("Operators")}}</div>
-
-<p><strong>符号なし右シフト演算子 (<code>&gt;&gt;&gt;</code>)</strong> (ゼロ埋め右シフト) は、1つ目のオペランドを指定されたビット数だけ右にずらします。右にずらしてあふれたビットは廃棄されます。0のビットが左からずれて入ります。符号ビットは <code>0</code> になりますので、結果は負の数にはなりません。他のビット毎演算子とは異なり、ゼロ埋め右シフトは符号なし32ビット整数を返します。</p>
+{{jsSidebar("Operators")}}
-<div>{{EmbedInteractiveExample("pages/js/expressions-unsigned-right-shift.html")}}</div>
+**符号なし右シフト演算子 (`>>>`)** (ゼロ埋め右シフト) は、1つ目のオペランドを指定されたビット数だけ右にずらします。右にずらしてあふれたビットは廃棄されます。0 のビットが左からずれて入ります。符号ビットは `0` になりますので、結果は負の数にはなりません。他のビット毎演算子とは異なり、ゼロ埋め右シフトは符号なし 32 ビット整数を返します。
-<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力していただける場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div>
+{{EmbedInteractiveExample("pages/js/expressions-unsigned-right-shift.html")}}
-<h2 id="Syntax" name="Syntax">構文</h2>
+## 構文
-<pre class="syntaxbox notranslate"><code><var>a</var> &gt;&gt;&gt; <var>b</var></code>
-</pre>
+```js
+a >>> b
+```
-<h2 id="Description" name="Description">解説</h2>
+## 解説
-<p>この演算子は、1つ目のオペランドを指定されたビット数だけ右にずらします。右にずらしてあふれたビットは廃棄されます。0のビットが左からずれて入ります。符号ビットは <code>0</code> になりますので、結果は負の数にはなりません。他のビット毎演算子とは異なり、ゼロ埋め右シフトは符号なし32ビット整数を返します。</p>
+この演算子は、1 つ目のオペランドを指定されたビット数だけ右にずらします。右にずらしてあふれたビットは廃棄されます。0 のビットが左からずれて入ります。符号ビットは `0` になりますので、結果は負の数にはなりません。他のビット毎演算子とは異なり、ゼロ埋め右シフトは符号なし 32 ビット整数を返します。
-<p>負の数ではない場合、ゼロ埋め右シフトと符号保存右シフトは同じ結果をになります。例えば、 <code>9 &gt;&gt;&gt; 2</code> は 2 となり、 <code>9 &gt;&gt; 2</code> と同じになります。</p>
+負の数ではない場合、ゼロ埋め右シフトと符号保存右シフトは同じ結果をになります。例えば、 `9 >>> 2` は 2 となり、 `9 >> 2` と同じになります。
-<pre class="brush: js notranslate">. 9 (10進数): 00000000000000000000000000001001 (2進数)
- --------------------------------
-9 &gt;&gt;&gt; 2 (10進数): 00000000000000000000000000000010 (2進数) = 2 (10進数)
-</pre>
+```js
+. 9 (10 進数): 00000000000000000000000000001001 (2 進数)
+ --------------------------------
+9 >>> 2 (10 進数): 00000000000000000000000000000010 (2 進数) = 2 (10 進数)
+```
-<p>しかし、これは負の数の場合は当てはまりません。例えば、 <code>-9 &gt;&gt;&gt; 2</code> は 1073741821 になり、 <code>-9 &gt;&gt; 2</code> (<code>-3</code> になる) とは異なります。</p>
+しかし、これは負の数の場合は当てはまりません。例えば、 `-9 >>> 2` は 1073741821 になり、 `-9 >> 2` とは異なります (`-3` になる)。
-<pre class="brush: js notranslate">. -9 (10進数): 11111111111111111111111111110111 (2進数)
+```js
+. -9 (10 進数): 11111111111111111111111111110111 (2 進数)
--------------------------------
--9 &gt;&gt;&gt; 2 (10進数): 00111111111111111111111111111101 (2進数) = 1073741821 (10進数)
-</pre>
+-9 >>> 2 (10 進数): 00111111111111111111111111111101 (2 進数) = 1073741821 (10 進数)
+```
-<h2 id="Examples" name="Examples">例</h2>
+## 例
-<h3 id="Using_unsigned_right_shift" name="Using_unsigned_right_shift">符号なし右シフトの使用</h3>
+### 符号なし右シフトの使用
-<pre class="brush: js notranslate"> 9 &gt;&gt;&gt; 2; // 2
--9 &gt;&gt;&gt; 2; // 1073741821
-</pre>
+```js
+ 9 >>> 2; // 2
+-9 >>> 2; // 1073741821
+```
-<h2 id="Specifications" name="Specifications">仕様書</h2>
+## 仕様書
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">仕様書</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-bitwise-shift-operators', 'Bitwise Shift Operators')}}</td>
- </tr>
- </tbody>
-</table>
+{{Specifications}}
-<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2>
+## ブラウザーの互換性
-<p>{{Compat("javascript.operators.unsigned_right_shift")}}</p>
+{{Compat}}
-<h2 id="See_also" name="See_also">関連情報</h2>
+## 関連情報
-<ul>
- <li><a href="/ja/docs/Web/JavaScript/Guide/Expressions_and_Operators#Bitwise">代入演算子</a></li>
- <li><a href="/ja/docs/Web/JavaScript/Reference/Operators/Unsigned_right_shift_assignment">符号なし右シフト代入演算子</a></li>
-</ul>
+- [ビット演算子 (JavaScript ガイド)](/ja/docs/Web/JavaScript/Guide/Expressions_and_Operators#bitwise)
+- [符号なし右シフト代入演算子](/ja/docs/Web/JavaScript/Reference/Operators/Unsigned_right_shift_assignment)