| Ваш IP: 3.236.132.132 | Online(25) - гости: 19, боты: 6 | Загрузка сервера: 0.26 ::::::::::::


Операции с битами (Arduino)

     | — старший бит

0b11110000

                  | — младший бит

DEC  BIN

0        0B00000000

1        0B00000001

2        0B00000010

3        0B00000011

4        0B00000100

5        0B00000101

6        0B00000110

7        0B00000111

Битовое И (&)

Если оба входных бита равны 1, результирующий бит равен 1, в ином случае бит равен 0.

 byte a = 0b00111001;
 byte b = 0b11001100;

 byte x = a & b // 0b00001000

Битовое ИЛИ (|)

Результат операции побитового ИЛИ двух бит будет 1, если хотя бы один из этих битов 1, иначе бит будет равен 0.

  byte a = 0b00111001;
  byte b = 0b11001100;

  byte x = a | b; // 0b11111101

Битовое XOR (^)

Результат операции побитового XOR двух бит будет равен 1, если хотя бы один из этих битов 1, и вернет 0, если оба бита будут равны 1.

  byte a = 0b00111001;
  byte b = 0b11001100;

  byte x = a ^ b; // 0b11110101

Битовое НЕ (~)

Побитовое НЕ меняет каждый бит на противоположный: 0 становится 1, а 1 становится 0.

  int a = 0b000111100111001;
  int x =  ~a; // 0b111000011000110 

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

Биты сдвинуться влево на указанную позицию.

  int a = 0b000111100111001;
  int x = a << 3; // 0b111100111001000

Битовый сдвиг вправо (>>)

Биты сдвинуться влево на указанную позицию.

  int a = 0b000111100111001;
  int x = c >> 3; // 0b000000111100111  

Составное битовое И(&=)

Оператор составного побитового И (&=) работает аналогично побитовому И, полученный результат присваивается первому значению.

Оператор составного побитового И (&=) часто используют чтобы перевести отдельные биты переменной в низкий уровень (0).

Пример очистки байта а, сброс всех битов кроме 3-го:

   byte a = 0b00001111;
   byte b = 0b00001000;
         // 0b00001000
   a &= b; //  a = a & b  

Составное битовое ИЛИ (|=)

Оператор составного побитового ИЛИ (|=) работает аналогично побитовому ИЛИ, полученный результат присваивается первому значению.

Оператор составного побитового ИЛИ (|=) часто используют чтобы перевести отдельные биты переменной в высокий уровень (1).

Пример перевода 4-го бита в высокий уровень:

   byte a = 0b00001111;
   byte b = 0b00010000;
         // 0b00011111
   a |= b; //  a = a | b  

Запись единичного бита

  byte a = 0b00000000;  // запись лог. 1 в 6 бит
  byte x = a |= (1 << 6);  // 0b01000000
  byte a = 0b11111111;  // запись лог. 0 в 6 бит
  byte x = a &= ~(1 << 6);  // 0b10111111
  byte a = 0b11111111;  // инверсия 5 бита
  byte x = a ^= (1 << 5);  // 0b11011111

Добавить комментарий

Войти с помощью: 

Случайные статьи

  • Устройство защиты электродвигателя

    В качестве типовых элементов защиты электродвигателей чаще всего применяют электротепловые реле. Конструкторы вынуждены завышать номинальный ток этих реле, чтобы не было срабатываний при пуске. Надежность такой защиты невелика, и большой процент двигателей выходит из строя в процессе эксплуатации. Схема устройства защиты двигателей (см. рисунок) от неполнофазных режимов и перегрузки отличается …Подробнее...
  • Сигнализатор открытой двери холодильника

    Схема сигнализатора помещена в небольшую коробочку, в коробочке имеется прорезь для фоторезистора. Уст-во помещают в прямой видимости от осветительной лампы холодильника. При закрытой двери холодильника R2 фоторезистор имеет высокое сопротивление (более 200 кОм), при попадании света на фоторезистор сопротивление его становиться малым, запускается счетчик 4060. Через 20 секунд зазвучит звуковой …Подробнее...
  • Регулятор скорости вентилятора (12В)

    Регулятор скорости вентилятора (12В)

    На рисунке показана простая схема регулятора скорости вращения вентилятора (кулера). Иногда вентиляторы при работе создают значительный шум, для уменьшения шума можно уменьшить скорость вращения вентилятора, там где позволяет тепловой режим. Схема позволяет осуществить плавную регулировку скорости вращения вентилятора при помощи потенциометра R3. После сборки уст-во в настройке не нуждаетсяПодробнее...
  • Переключатели елочных гирлянд

    Переключатель елочных гирлянд коммутирует переключение 2-х гирлянд, его силовая часть питается от сетевого напряжения 220В через выпрямитель на диодном мосте VD3. В качестве коммутирующих ключей служат тринисторы которые коммутируют гирлянды с сетевым напряжением. Максимальная мощность подключенных гирлянд может быть до 200Вт. На DD1.1 DD1.3 собран генератор импульсов с частотой следования …Подробнее...
  • Часы на PIC16F84A

    Часы на PIC16F84A

    На рисунке показана схема часов выполненных на микроконтроллере PIC16F84A. Часы имеют функцию корректировки времени которую можно осуществить при помощи кнопок  SA1 (минуты) SA2 (часы). В схеме используются семи сегментные индикаторы с общим катодом. pic16f84-clock.zipПодробнее...