Разделы инструкций

В сети

Пользователей: 95
Из них просматривают:
Аналоги: 27. Видео: 2. Даташиты: 25. Инструкции: 4. Магазин: 1. Новости: 9. Остальное: 1. Программы: 2. Производители: 1. Расчёты: 1. Форум: 21. Чат: 1.
Участников: 3
Гостей: 92

alex01981 , Google , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Оглавление

<< (побитовый сдвиг влево)

Описание
Оператор сдвига влево << вызывает сдвиг битов левого операнда влево на количество позиций, заданных правым операндом
 
Синтаксис
переменная << количество_бит;
 
параметры
переменная: допустимые типы данных: byte, int, long.
количество_бит - целое число <= 32. допустимые типы данных: int.

Пример

int a = 5; // двоичный: 0000000000000101
int b = a << 3; // двоичный: 0000000000101000, или 40 в десятичной



Примечания и предупреждения

Когда вы сдвигаете значение x на y бит (x << y), самые левые y биты в x теряются:
 

int x = 5; // двоичный: 0000000000000101
int y = 14;
int result = x << y; // двоичный: 0100000000000000 - первый 1 из 101 будет потерян


 
Если вы уверены, что ни один из битов в сдвигаемом числе не пропадет, то для простоты можно считать, что оператор сдвига << умножает левый операнд на 2 в степени, показателем которой является правый операнд. Например, для получения степеней 2 могут быть использованы следующие выражения:
 
операция  результат
 1 << 0       1
 1 << 1       2
 1 << 2       4
 1 << 3       8
 ...
 1 << 8     256
 1 << 9     512
 1 << 10   1024
 
В следующем примере можно послать значение полученного байта на последовательный порт, используя оператор сдвига влево для перемещения вдоль байта вниз (LSB) вверх (MSB), и посмотреть на мониторе его двоичное значение:

// Prints out Binary value (1 or 0) of byte
void printOut1(int c) {
   for (int bits = 7; bits > -1; bits--) {
     // Compare bits 7-0 in byte
     if (c & (1 << bits)) {
       Serial.print("1");
     }
     else {
      Serial.print("0");
     }
   }
}

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити

Разное

Если "ревёт" один из дросселей резонансного стабилизатора, забейте деревянный клин между его катушками.

Интересно

При замене радиодетали освободить отверстие от припоя можно заострённой спичкой.

Похожие инструкции