Member 13657913 Ответов: 1

Как определить массив байтов arduino в C


Я пытаюсь перенести следующий код:


byte DIV_3_OF_5[8] = {
  B11100, 
  B11100,
  B11100,
  B11100,
  B11100,
  B11100,
  B11100,
  B11100
}; // 3 / 5

byte DIV_4_OF_5[8] = {
  B11110, 
  B11110,
  B11110,
  B11110,
  B11110,
  B11110,
  B11110,
  B11110
}; // 4 / 5


Каков синтаксис языка Си для этого и как определить 0s и 1s в этом случае? Нужно ли мне преобразовать это число в шестнадцатеричное?

Что я уже пробовал:

Я пытался перенести его туда, но безуспешно.

Rick York

Поскольку все значения одинаковы, то вместо двоичных значений должно быть легко использовать шестнадцатеричное значение 0x1E.

1 Ответов

Рейтинг:
0

Jochen Arndt

Некоторые компиляторы поддерживают двоичные литералы с 0b или 0B префикс. Они не являются частью стандарта C, но были введены вместе с C++14.

Если вы используете такой компилятор (например, GCC: Использование коллекции компиляторов GNU (GCC): двоичные константы[^] ) достаточно вставить ноль. Если нет, то вам придется преобразовать значения в шестнадцатеричный формат.