| Ваш IP: 3.230.1.126 | Online(17) - гости: 16, бот: 1 | Загрузка сервера: 1.31 ::::::::::::

Операции с битами (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

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

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

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

  • Радиомикрофон

    Схема радиомикрофона показана на рисунке. Радиомикрофон работает на частоте 87,9 МГц и представляет собой автогенератор с емкостной обратной связью и дополнительной емкостью С4 в индуктивной ветви (схема Клаппа). Дополнительная емкость необходима, во-первых, для развязки по постоянному току цепей питания и смещения. Во2вторых, она обеспечивает дополнительную степень свободы для получения оптимального …Подробнее...
  • HEF4051B — увеличение количества аналоговых входов Arduino

    HEF4051B — увеличение количества аналоговых входов Arduino

    ИМС HEF4051B (4051) представляет собой 8 канальный аналоговый CMOS мультиплексор/демультиплексор. HEF4051B можно применить для увеличения числа аналоговых входов Arduino, для этого будет задействован одни аналоговый вход и три цифровых входа Arduino. #include <HEF4051.h> // http://forum.rcl-radio.ru/misc.php?action=pan_download&item=748&download=1 HEF4051 hef(A0,2,3,4);// analog_input A0, D2,D3,D4 void setup() {  Serial.begin(9600); } void loop() {  for(byte i=0;i<8;i++){ …Подробнее...
  • Два простых УМЗЧ

    Два простых УМЗЧ

    Характеристики Номинальная чувствительность 0,35В Номинальная выходная мощность при нагрузке 4 Ом — 10Вт Диапазон воспроизводимых частот от 40 до 20000 Гц Скорость нарастания выходного напряжения 25В\мкс Коэф. нелинейных искажений по всем диапазоне 0,35% Напряжение питания 11…16В Первый каскад на VT1 работает в усилителе напряжения, а остальные VT2-VT5 образуют эмиттерный повторитель …Подробнее...
  • Однофазная мостовая схема выпрямления

    Однофазная мостовая схема выпрямления

    Схема мостового выпрямителя показана на рисунке а), которая состоит из двухобмоточного трансформатора, четырех диодов включенных по схеме моста и нагрузки выпрямителей Rн. К одной диагонали моста подключена вторичная обмотка трансформатора, к другой нагрузка. В схеме четыре диода соединены так, что напряжение вторичной обмотки трансформатора подается на нагрузку в течении одного …Подробнее...
  • Регулятор температуры воды

    Регулятор предназначен для регулировки температуры воды в аквариуме или в другой емкости в диапазоне 10-40°С. В основе уст-ва интегральный компаратор напряжения К553СА3. Эта микросхема имеет мощный выход, достаточный для подключения реле. Принцип действия схемы: На прямом входе (вывод3) компаратора создается образцовое напряжение при помощи делителя R1\R2. Это напряжение можно менять …Подробнее...