Відмінності між версіями «Побітові оператори JavaScript»

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук
(Створена сторінка: == '''''Побітові Оператори''''' == Побітові оператори впливають на операнди як набір бітів (0 і 1…)
 
Рядок 39: Рядок 39:
 
</ul>
 
</ul>
  
 +
== '''Побітові оператори зсуву''' ==
  
  
 +
Побітові оператори зсуву:
  
  
 +
<li>Зсув вліво (<<) </li>
 +
<li>Зсув вправо (>>) </li>
 +
<li>Зсув вправо із заповненням нулями (>>>) </li>
 +
</ul>
  
  
 +
Оператори зсуву присвоює два операнди: перший - кількість на яке буде зрушено, і другий визначає число бітових положень, якими перший операнд повинен бути зрушене. Напрямок дії зсуву управляється керуючим оператором.
  
 +
Оператори зсуву перетворять операнди до 32-бітового цілого числа, і повертають результат того ж самого типу що і лівий оператор.
  
 +
'''Зсув вліво (<<)'''
  
 +
Зсув вліво переміщує всі біти вліво на кількість позицій, вказаних в правій частині виразу, заповнюючи позиції, що звільнилися нулями.
  
 +
Наприклад, 9 << 2 повертає 36, тому що 1001 зсувається на 2 біти вліво і стає рівним 100100, що дорівнює в дісятерічной системі 36.
  
 +
'''Зсув вправо (>>)'''
  
 +
Зсув вправо заповнює звільнені ліворуч позиції значенням самого лівого біта вихідного значення.
  
 +
Наприклад, 9 >> 2 повертає 2, тому що 1001 зсувається на два біти вправо і стає 10, що дорівнює в десятичній системі 2. Аналогічно, -9 >> 2 повертає -3, тому що знак зберігається.
  
 +
'''Зсув вправо із заповненням нулями (>>>)'''
  
 +
Зсув вправо із заповненням нулями працює аналогічно зсуву вліво, тільки в протилежному напрямі.
  
 
+
Наприклад, 19>>> 2 повертає 4, бо 10011 зсувається на два біти праворуч і стають 100, що дорівнює в десятичній системі 4. Для postive чисел, нуль - заповнює правий зсув, і що поширюється знак зміщюється вправо видає той же самий результат.
 
+
 
+
 
+
 
+
  
  
 
[[Оператори мови JavaScript]]
 
[[Оператори мови JavaScript]]

Версія за 07:42, 16 квітня 2010

Побітові Оператори

Побітові оператори впливають на операнди як набір бітів (0 і 1). Наприклад, десяткове число 9 має бінарне представлення 1001. Побітові оператори виконують дії на таких двійкових представленнях, але вони повертають стандартне JavaScript чисельне значення.

Побітові Логічні оператори

Побітові логічні оператори працюють таким чином:
    * Операнди перетворені в 32-бітові цілі числа, і вирази рядків бітів (0 і 1).     * Кожен біт в першому операнді з'єднаний з відповідним бітом у другому операнді: перший біт до першого біту, другий біт до другого біту, і так далі. ____* Оператор застосовується до кожної пари бітів, і результат створений побітовий.

Побітовi оператори:
____* Побітове І & повертає 1, якщо обидва операнди 1.
____* Побітове АБО | повертає 1, якщо будь-який операнд 1.
____* Виключне побітове АБО ^ повертає 1, якщо є 1 але не обидва операнди 1.
Наприклад, бінарне представлення 9 - 1001, і бінарне представлення 15 - 1111. Так, коли побітові оператори застосовуються до цих значень, то результати виглядають наступним чином:
____* 15 & 9 повертає 9 (1111 & 1001 = 1001)
____* 15 | 9 повертає 15 (1111 | 1001 = 1111)
____* 15 ^ 9 повертає 6 (1111 ^ 1001 = 0110)


Оператори присвоювання

Оператор присвоює значення лівому операнду, заснованому на значенні правого операнда. Основний оператор присвоювання рівність (=), який присвоює значення правого операнда лівому операнду. Тобто x = y приписує значення y до x (значення у присвоюється х).

Інші оператори виглядають наступним чином:

  • Додавання, конкатенація: x += y означає x = x + y
  • Віднімання: x -= y означає x = x - y
  • Множення: x *= y означає x = x * y
  • Ділення: x /= y означає x = x / y
  • Обчислення залишку від ділення: x %= y означає x = x % y


Є додаткові оператори присвоювання для побітових операторів

  • Побітовий зсув вліво: x <<= y означає x = x << y
  • Побітовий зсув праворуч: x >> = y означає x = x >> y
  • Побітовий зсув вправо із заповненням нулями x >>>= y означає x = x >>> y
  • Побітове AND x &= y означає x = x & y
  • Виключне побітове АБО x ^ = y означає x = x ^ y
  • Побітове OR x |= y означає x = x | y

Побітові оператори зсуву

Побітові оператори зсуву:


  • Зсув вліво (<<)
  • Зсув вправо (>>)
  • Зсув вправо із заповненням нулями (>>>)
  • </ul>


    Оператори зсуву присвоює два операнди: перший - кількість на яке буде зрушено, і другий визначає число бітових положень, якими перший операнд повинен бути зрушене. Напрямок дії зсуву управляється керуючим оператором.
    

    Оператори зсуву перетворять операнди до 32-бітового цілого числа, і повертають результат того ж самого типу що і лівий оператор.

    Зсув вліво (<<)

    Зсув вліво переміщує всі біти вліво на кількість позицій, вказаних в правій частині виразу, заповнюючи позиції, що звільнилися нулями.

    Наприклад, 9 << 2 повертає 36, тому що 1001 зсувається на 2 біти вліво і стає рівним 100100, що дорівнює в дісятерічной системі 36.

    Зсув вправо (>>)

    Зсув вправо заповнює звільнені ліворуч позиції значенням самого лівого біта вихідного значення.

    Наприклад, 9 >> 2 повертає 2, тому що 1001 зсувається на два біти вправо і стає 10, що дорівнює в десятичній системі 2. Аналогічно, -9 >> 2 повертає -3, тому що знак зберігається.

    Зсув вправо із заповненням нулями (>>>)

    Зсув вправо із заповненням нулями працює аналогічно зсуву вліво, тільки в протилежному напрямі.

    Наприклад, 19>>> 2 повертає 4, бо 10011 зсувається на два біти праворуч і стають 100, що дорівнює в десятичній системі 4. Для postive чисел, нуль - заповнює правий зсув, і що поширюється знак зміщюється вправо видає той же самий результат.


    Оператори мови JavaScript