aboutsummaryrefslogtreecommitdiff
path: root/files/uk/web/javascript/reference/operators/right_shift/index.html
blob: f8d660123adce8ab3097368506a496d5972fd916 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
---
title: Правий зсув (>>)
slug: Web/JavaScript/Reference/Operators/Right_shift
tags:
  - JavaScript
  - Бітовий оператор
  - Довідка
  - Оператор
translation_of: Web/JavaScript/Reference/Operators/Right_shift
---
<div>{{jsSidebar("Operators")}}</div>

<p><strong>Оператор правого зсуву (<code>&gt;&gt;</code>)</strong> виконує зсув першого операнда на вказану кількість бітів праворуч. Надлишкові біти, зсунуті праворуч, відкидаються. Біти, додані зліва, заповнюються значенням старшого біта. Оскільки новий старший біт матиме те саме значення, що й попередній старший біт, знаковий (старший) біт не змінюється. Звідси назва оператора "з розширенням знаку".</p>

<div>{{EmbedInteractiveExample("pages/js/expressions-right-shift.html")}}</div>



<h2 id="Синтаксис">Синтаксис</h2>

<pre class="syntaxbox notranslate"><code><var>a</var> &gt;&gt; <var>b</var></code>
</pre>

<h2 id="Опис">Опис</h2>

<p>Цей оператор виконує зсув першого операнду на вказану кількість бітів праворуч. Надлишкові біти, зсунуті праворуч, відкидаються. Біти, додані зліва, заповнюються значенням старшого біта. Оскільки новий старший біт матиме те саме значення, що й попередній старший біт, знаковий (старший) біт не змінюється. Звідси назва "з розширенням знаку".</p>

<p>Наприклад, <code>9 &gt;&gt; 2</code> дорівнює 2:</p>

<pre class="brush: js notranslate">.    9 (основа 10): 00000000000000000000000000001001 (основа 2)
                  --------------------------------
9 &gt;&gt; 2 (основа 10): 00000000000000000000000000000010 (основа 2) = 2 (base 10)
</pre>

<p>Аналогічно, <code>-9 &gt;&gt; 2</code> дорівнює <code>-3</code>, оскільки знак зберігається:</p>

<pre class="brush: js notranslate">.    -9 (основа 10): 11111111111111111111111111110111 (основа 2)
                   --------------------------------
-9 &gt;&gt; 2 (основа 10): 11111111111111111111111111111101 (основа 2) = -3 (base 10)
</pre>

<h2 id="Приклади">Приклади</h2>

<h3 id="Використання_правого_зсуву">Використання правого зсуву</h3>

<pre class="brush: js notranslate"> 9 &gt;&gt; 2; //  2
-9 &gt;&gt; 2; // -3
</pre>

<h2 id="Специфікації">Специфікації</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">Специфікація</th>
  </tr>
  <tr>
   <td>{{SpecName('ESDraft', '#sec-bitwise-shift-operators', 'Bitwise Shift Operators')}}</td>
  </tr>
 </tbody>
</table>

<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>



<p>{{Compat("javascript.operators.right_shift")}}</p>

<h2 id="Див._також">Див. також</h2>

<ul>
 <li><a href="/uk/docs/Web/JavaScript/Guide/%D0%92%D0%B8%D1%80%D0%B0%D0%B7%D0%B8_%D1%82%D0%B0_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B8#%D0%91%D1%96%D1%82%D0%BE%D0%B2%D1%96_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B8">Бітові оператори у посібнику JS</a></li>
 <li><a href="/uk/docs/Web/JavaScript/Reference/Operators/Right_shift_assignment">Оператор присвоєння з правим зсувом</a></li>
</ul>