Вопрос Анекдот от MCXDesign

sergey

Пользователь
23 Фев 2021
93
6
Сразу сообщу, что этот анекдот нашел не я, мне его подсказали.

Нас интересует странное поведение переменной Alarm (любой)
Смотрим на картинку
bool_1.jpg
На листе Logic создаем такую программу, компилируем и запускаем симулятор.
1 на входе переменной Alarm я для чистоты эксперимента поставил.
блок AND для индикации переменной аларм в принципе можно любой блок поставить. на эксперимент это не влияет.

Суть.
Переменная Aarm она типа bool то есть может принимать значения 0 (нет аварии0 или 1 (есть авария)
О чем так же свидетельствует и MCXShape (для переменной Alarm выделяется 1 бит) см картинку ниже
bool_2.jpg
Пока как бы все нормально. А где собственно анекдот?
Открываем вкладку User Interface и создаем там аналогичный код
НИКТО ЖЕ НЕ ЗАПРЕЩАЕТ ТАКИЕ ДЕЙСТВИЯ.
Компилируем (ошибок нет)
запускаем симулятор и...
вуаля, смотрим картинку
bool_3.jpg
Вот это поворот!
Переменная Alarm почему то стала 3 вместо 1 :) даже несмотря на то что она вроде как типа bool

Где анекдот?
Так вот собственно
В военное время значение синуса может достигать четырех.

ПС думаю комментировать тут нечего.
ъто как вот с этой темой
 

Stepan

Специалист
Команда Данфосс
16 Дек 2020
139
38
7
Добрый день, sergey
Для предоставления ответа на Ваш вопрос потребуется некоторое время.
Я предоставлю Вам ответ как только это представится возможным (ориентировочный срок 22.05)
Спасибо за Ваше обращение!