Processing:Справочник языка Processing/Побитовый оператор AND: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
 
Нет описания правки
Строка 2: Строка 2:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


{{Черновик}}
 


= Побитовый оператор AND <ref>[https://processing.org/reference/bitwiseAND.html processing.org - & (bitwise AND)]</ref>=
= Побитовый оператор AND <ref>[https://processing.org/reference/bitwiseAND.html processing.org - & (bitwise AND)]</ref>=
Строка 8: Строка 8:
==Обозначение==
==Обозначение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
&
&
</syntaxhighlight>
</syntaxhighlight>
Строка 16: Строка 16:
Сравнивает каждый соответствующий бит в двоичном представлении двух значений. 1 & 1 дает 1, 1 & 0 дает 0 и 0 & 0 дает 0. Это легко увидеть, когда мы рассмотрим двоичное представление чисел.
Сравнивает каждый соответствующий бит в двоичном представлении двух значений. 1 & 1 дает 1, 1 & 0 дает 0 и 0 & 0 дает 0. Это легко увидеть, когда мы рассмотрим двоичное представление чисел.


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
   11010110  // 214
   11010110  // 214
& 01011100  // 92
& 01011100  // 92
Строка 27: Строка 27:
==Синтаксис==
==Синтаксис==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
value & value2
value & value2
</syntaxhighlight>
</syntaxhighlight>
Строка 33: Строка 33:
==Параметры==
==Параметры==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
value1 - тип int, char, byte
value1 - тип int, char, byte
value2 - тип int, char, byte
value2 - тип int, char, byte
Строка 42: Строка 42:
===№1===
===№1===


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
int a = 207;    // в двоичном представлении: 11001111
int a = 207;    // в двоичном представлении: 11001111
int b = 61;    // в двоичном представлении: 00111101
int b = 61;    // в двоичном представлении: 00111101
Строка 51: Строка 51:
===№2===
===№2===


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
color argb = color(204, 204, 51, 255);
color argb = color(204, 204, 51, 255);
// Синтаксис "& 0xFF" сравнивает двоичное
// Синтаксис "& 0xFF" сравнивает двоичное
Строка 91: Строка 91:
|Высота логотипа издателя для schemaNewsArticle=45
|Высота логотипа издателя для schemaNewsArticle=45
}}
}}
{{Навигационная таблица/Справочник языка Processing}}
{{Навигационная таблица/Портал/Processing}}

Версия от 12:12, 20 мая 2023

Проверка/Оформление/Редактирование: Мякишев Е.А.



Побитовый оператор AND [1]

Обозначение

&

Описание

Сравнивает каждый соответствующий бит в двоичном представлении двух значений. 1 & 1 дает 1, 1 & 0 дает 0 и 0 & 0 дает 0. Это легко увидеть, когда мы рассмотрим двоичное представление чисел.

  11010110  // 214
& 01011100  // 92
  --------
  01010100  // 84

Чтобы увидеть двоичное представление числа, используйте функцию binary() с println().

Синтаксис

value & value2

Параметры

value1 - тип int, char, byte
value2 - тип int, char, byte

Пример

№1

int a = 207;    // в двоичном представлении: 11001111
int b = 61;     // в двоичном представлении: 00111101
int c = a & b;  // в двоичном представлении: 00001101
println(c);     // печатаем в консоли "13", это десятичный эквивалент 00001101

№2

color argb = color(204, 204, 51, 255);
// Синтаксис "& 0xFF" сравнивает двоичное
// представление двух чисел и 
// и устанавливает все биты в 0, кроме последних 8
// "0xFF" это 00000000000000000000000011111111
int a = argb >> 24 & 0xFF;
int r = argb >> 16 & 0xFF;
int g = argb >> 8 & 0xFF;
int b = argb & 0xFF;
fill(r, g, b, a);
rect(30, 20, 55, 55);

См.также

Внешние ссылки