Возникла необходимость преобразовать переменную типа int в тип byte. Как пишут умные люди: byte() приводит значение к типу byte. Синтаксис: byte(x); где x — переменная любого типа. Но в описании переменных говорится следующее В Arduino Uno (и других платах на базе микроконтроллеров ATmega) переменные типа int хранят 16-битные (2-байтовые) значения. В то-же время: Переменная типа byte хранит 8-битное беззнаковое число. Возникает вопрос, как 2-байтовая интовая х будет преобразована в 8-битную переменную типа byte?
Да, откинется старший байт. А мне как то привычнее такой вид: Код (C++): int g; byte bbb; bbb=(byte)g;
То-есть если возьмём, к примеру Код (C++): int g=255; то в двоичном представлении это будет иметь вид Код (C++): b0000000011111111 После преобразования Код (C++): byte bbb=byte(g) мы получим Код (C++): b11111111
На всякий случай, В настройках ИДЕ есть возможность выставить уровень warning - "Сообщения компилятора" Рекомендую поставить "Все". Максимальный уровень. Ибо, любой warning - потенциальная ошибка. За это и люблю Си. Чаще всего, варнинги - это либо неиспользуемая переменная или некорректное преобразование типов переменных. Есть повод задуматься, и сделать все корректно. По поводу вопроса ТС. Это про явное преобразование типов переменных. И это однозначно правильный вариант.