Инструкции

Справочный раздел

В этом разделе Вы найдетё инструкции, справочники, и всевозможные хелпы по использованию программного обеспечения.

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

В сети

Пользователей: 228
Из них просматривают:
Аналоги: 105. Видео: 4. Галерея: 1. Даташиты: 66. Инструкции: 3. Кроссворд: 1. Магазин: 2. Новости: 10. Опросы: 1. Остальное: 8. Программы: 6. Расчёты: 1. Теги: 2. Торрент: 4. Форум: 14.
Участников: 2
Гостей: 226

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");
     }
   }
}

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

Разное

Интересно

Вместо высоковольтного провода можно использовать обычный, пропустив его через трубку от капельницы.

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