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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
 
Нет описания правки
 
(не показана 1 промежуточная версия 1 участника)
Строка 1: Строка 1:
{{Processing панель перехода}}
{{Processing панель перехода}}
{{Myagkij-редактор}}
{{Myagkij-редактор}}
{{Черновик}}


= Побитовый оператор сдвига влево <ref>[https://processing.org/reference/leftshift.html processing.org - << (left shift)]</ref>=
= Побитовый оператор сдвига влево <ref>[https://processing.org/reference/leftshift.html processing.org - << (left shift)]</ref>=
Строка 8: Строка 6:
==Обозначение==
==Обозначение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
<<
<<
</syntaxhighlight>
</syntaxhighlight>
Строка 18: Строка 16:
==Синтаксис==
==Синтаксис==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
value << n
value << n
</syntaxhighlight>
</syntaxhighlight>
Строка 24: Строка 22:
==Параметры==
==Параметры==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
value - тип int: число для побитового сдвига
value - тип int: число для побитового сдвига
n    - тип int: на какое количество необходимо произвести сдвиг влево
n    - тип int: на какое количество необходимо произвести сдвиг влево
Строка 33: Строка 31:
===№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 m = 1 << 3;  // в двоичном представлении: было 1 стало 1000
int m = 1 << 3;  // в двоичном представлении: было 1 стало 1000
println(m);      // печатаем в консоли "8"
println(m);      // печатаем в консоли "8"
Строка 46: Строка 44:
===№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">
// Упаковываем четыре 8-битных числа в одно 32-битное
// Упаковываем четыре 8-битных числа в одно 32-битное
int a = 255;  // в двоичном представлении: 00000000000000000000000011111111
int a = 255;  // в двоичном представлении: 00000000000000000000000011111111
Строка 67: Строка 65:


<references />
<references />
{{SEO
 
|Заголовок статьи=Processing: Побитовый оператор сдвига влево / Онлайн справочник - wikihandbk.com
{{Навигационная таблица/Портал/Processing}}
|Ключевые слова=processing, побитовый оператор сдвига влево, сдвиг влево в processing
|Описание статьи=  Сдвигает биты влево. Число слева от оператора сдвигается на количество мест, указанных числом справа. Каждый сдвиг влево удваивает число, поэтому каждый сдвиг влево умножает исходное число на 2. Используйте сдвиг влево для быстрого умножения или для упаковки группы чисел в одно большое число. Сдвиг влево работает только с целыми числами или чилами, которые автоматически преобразуются в целое число, такие как byte и char.
|Изображение статьи для Open Graph=
|Адрес страницы для schemaNewsArticle=<nowiki>http://wikihandbk.com/wiki/Processing:Справочник языка Processing/Побитовый оператор сдвига влево</nowiki>
|Изображение статьи для schemaNewsArticle=<nowiki></nowiki>
|Высота изображения статьи для schemaNewsArticle=
|Ширина изображения статьи для schemaNewsArticle=
|Дата публикации для schemaNewsArticle=2017-09-05
|Автор=Мякишев Е.А.
|Издатель=myagkij
|Логотип издателя для schemaNewsArticle=<nowiki>http://wikihandbk.com/ruwiki/images/6/61/Tech_geek_logo_1x.jpg</nowiki>
|Ширина логотипа издателя для schemaNewsArticle=60
|Высота логотипа издателя для schemaNewsArticle=45
}}
{{Навигационная таблица/Справочник языка Processing}}

Текущая версия от 18:50, 19 сентября 2023

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


Побитовый оператор сдвига влево [1]

Обозначение

<<

Описание

Сдвигает биты влево. Число слева от оператора сдвигается на количество мест, указанных числом справа. Каждый сдвиг влево удваивает число, поэтому каждый сдвиг влево умножает исходное число на 2. Используйте сдвиг влево для быстрого умножения или для упаковки группы чисел в одно большое число. Сдвиг влево работает только с целыми числами или числами, которые автоматически преобразуются в целое число, такие как byte и char.

Синтаксис

value << n

Параметры

value - тип int: число для побитового сдвига
n     - тип int: на какое количество необходимо произвести сдвиг влево

Пример

№1

int m = 1 << 3;   // в двоичном представлении: было 1 стало 1000
println(m);       // печатаем в консоли "8"
int n = 1 << 8;   // в двоичном представлении: было 1 стало 100000000
println(n);       // печатаем в консоли "256"
int o = 2 << 3;   // в двоичном представлении: было 10 стало 10000
println(o);       // печатаем в консоли "16"
int p = 13 << 1;  // в двоичном представлении: было 1101 стало 11010
println(p);       // печатаем в консоли "26"

№2

// Упаковываем четыре 8-битных числа в одно 32-битное
int a = 255;  // в двоичном представлении: 00000000000000000000000011111111
int r = 204;  // в двоичном представлении: 00000000000000000000000011001100
int g = 204;  // в двоичном представлении: 00000000000000000000000011001100
int b = 51;   // в двоичном представлении: 00000000000000000000000000110011
a = a << 24;  // в двоичном представлении: 11111111000000000000000000000000
r = r << 16;  // в двоичном представлении: 00000000110011000000000000000000
g = g << 8;   // в двоичном представлении: 00000000000000001100110000000000

// Эквивалент "color argb = color(r, g, b, a)" но быстрее
color argb = a | r | g | b;
fill(argb);
rect(30, 20, 55, 55);

См.также

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