Вопросы по коду. - страница 3

 
Alexey Viktorov #:

Зачем вы сравниваете мягкое с тёплым? Одно дело MQL5 и совсем другое микросхемы. Повторяю вам ещё раз: 0 это false, а всё остальное true.

Я ни чего ни с чем не сравниваю, микросхемы это для примера. Вы видимо ни разу (или забыли, тут можно освежить память https://resh.edu.ru/subject/lesson/5426/conspect/163619/) не составляли таблицы истинности для логических операций. В этих таблицах истина обозначается единицей лож нулем. Логические операции они в любом языке одинаковы. В том первом примере который вас так зацепил вообще речи о мкл или каких то других конкретных языках программирования не было.    

 
Ihor Herasko #:

Напряжение есть в обоих случаях. Отличается абсолютной величиной. К примеру, "0" - 0.4В, а "1" - 2.4В.

Вам бы лишь придраться к словам. Я думаю нет смысла уточнять сколько там вольт. Как функционирует электроника, а так же как обозначаются результаты логических операций сейчас наверно знает любой школьник.

 
А я подумал, короткого ответа будет достаточно, а тут вот оно что. Ага, буду знать.
 
Vitalii Ananev #:

В том первом примере который вас так зацепил вообще речи о мкл или каких то других конкретных языках программирования не было.    

Но вы забыли где вы пишете. «Оглянись вокруг себя…» вы находитесь на форуме где обсуждаются коды MQL5, а не микросхемы. Вопрос изначально был о коде MQL5 или MQL4, в этом случае не очень важно…

 
Vitalii Ananev #:

Вам бы лишь придраться к словам. Я думаю нет смысла уточнять сколько там вольт. Как функционирует электроника, а так же как обозначаются результаты логических операций сейчас наверно знает любой школьник.

Извините, если задел чем-то. Но я всего лишь уточнил, а не придирался. Потому как "нет напряжения" и "0.4В" все-таки существенная разница. И, да, школьники об этом не знают. В среднеобразовательных школах (т. е. без специального уклона) микропроцессорную технику не изучают.

 
Ihor Herasko #:

Напряжение есть в обоих случаях. Отличается абсолютной величиной. К примеру, "0" - 0.4В, а "1" - 2.4В.

Тонко подмечено)))
 
Vitalii Ananev #:

У меня тут вопрос возник. Точнее он возник уже давно, но сейчас, так сказать пользуясь случаем хочу кое чего уточнить.

Почему, я видел у некоторых в коде, пишут вот такую конструкцию: if (BL == true). Зачем? BL логическая переменная какой смысл еще дополнительно производить операцию сравнения? Это от великого ума или от незнания алгебры логики. Можно же просто написать if (BL).

Себе пишу так  if(BL)

Для народа так:  if(BL == true)

Если код сложный и много конструкций, тогда по-любому пишу так "if(BL == true)" чтобы быстро найти и не напрягать глаза

 
Alexey Viktorov #:

Зачем вы сравниваете мягкое с тёплым? Одно дело MQL5 и совсем другое микросхемы. Повторяю вам ещё раз: 0 это false, а всё остальное true.

Тем  не менее, true - это 1, и никак иначе.

Alert((int)true);
Но глубина темы для споров потрясает. 
 
Alexey Viktorov #:

Но вы забыли где вы пишете. «Оглянись вокруг себя…» вы находитесь на форуме где обсуждаются коды MQL5, а не микросхемы. Вопрос изначально был о коде MQL5 или MQL4, в этом случае не очень важно…

Тем не менее в булевой алгебре (она сама по себе не зависимо от языка программирования), которая появилась намного раньше современных языков программирования, истина это 1, а лож это 0. 

Есть такая штука как не явное преобразование типов.

bool BL;

BL=10;

if (BL) {Print("true"); Print((int)BL);}

Можно вместо BL=10 написать BL=-10 или другое число меньше нуля и посмотреть что будет.

 
Ihor Herasko #:

Извините, если задел чем-то. Но я всего лишь уточнил, а не придирался. Потому как "нет напряжения" и "0.4В" все-таки существенная разница. И, да, школьники об этом не знают. В среднеобразовательных школах (т. е. без специального уклона) микропроцессорную технику не изучают.

Вы тоже меня извините. Просто меня немного раздражает спор начатый на пустом месте. Вновь читающие наверно уже даже и не понимают с чего все началось.

Причина обращения: