Phazz писал(а): ↑07.10.2021{, 20:21}
Как раз в логике boolean 1 это 1 или true. А вот 0 это все что не 1. Если например из integer в bool
Какой смысл переводить integer в bool ?
И в каких случаях по вашему это может пригодиться?
Вероятно Вы не поняли аналогию которую я приводил в пример.
Хорошо, давайте подробнее поясню.
Когда создается условие относительно boolean valBool, то можно написать так:
if ( valBool == 1 )
или так:
if ( valBool )
Результат один и тот же.
В случае с ineger valint тоже можно написать:
if ( valint == 1 )
В этом случае условие выполнится только если valint = 1
А можно написать:
if ( valint )
Тогда условие будет выполняться при любых значениях valint отличных от "0".
Т.е. если речь идет о физическом пине то если:
if ( valint ) {digitalWrite(lPin, 1);}
При любом значении valint - на пине появится высокий уровень и лишь при valint = 0, на пине будет низкий уровень.
Теперь рассмотрим следующий момент:
Предположим мы управляем яркостью светильника через MQTT
А я упоминал что:
Dryundel писал(а): ↑07.10.2021{, 16:36}
Актуален при работе с MQTT
Ну так вот в этом случае, одной переменной мы можем управлять сразу двумя устройствами - включателем и диммером.
Пришло "50" - включатель включился, диммер выставился на 50%
Пришло "80" - включатель
включился, диммер выставился на 80%
Пришло "0" - включатель выключился, что с диммером уже без разницы.
.
Вот исходя из этих мелочей и принималось решение задействованной логики.
.