Скачать MetaTrader 5

2x2=5 или я сошел с ума

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Forex Trader
114318
Forex Trader  
"Ничего не понимаю шеф" сказал колобок... Ну ладно, мультики и шуточки в сторону, тут дело вот в чем.

double temp=10/100;

это выражение вычисляется как 0.000000. Я и так и эдак все равно. Как у Задорнова в монологе, про обрезанную тещей рулетку. Мир перевернулся вверх тормашками, ничего не понимаю.
Просьба к разработчикам сказать или я дурак или мир неправильный или они... Вообщем где правду искать народ, если 2х2="Сам догадайся" :(
Forex Trader
114318
Forex Trader  
Если так: double temp=10.0/100.0; то работает, ух хоть полегчало малость...
Братцы не наступайте на мои грабли, очень больно, поверте на слово!
Forex Trader
114318
Forex Trader  
Если так: double temp=10.0/100.0; то работает, ух хоть полегчало малость...
Братцы не наступайте на мои грабли, очень больно, поверте на слово!


никакой ошибки нет. так и должно быть. MQL4 - это сишнопадобный язык. в сишнике это норма.
Forex Trader
114318
Forex Trader  
Беда в том, что от разработчиков никто не требует соответствия стандартам С, а вот сделать язык более дружелюбным к трейдеру (который не обязан быть хорошим программистом и тем более владеть языком С в совершенстве, со всеми его подводными камнями) - было бы очень уместным.
Forex Trader
114318
Forex Trader  
Беда в том, что от разработчиков никто не требует соответствия стандартам С, а вот сделать язык более дружелюбным к трейдеру (который не обязан быть хорошим программистом и тем более владеть языком С в совершенстве, со всеми его подводными камнями) - было бы очень уместным.

А мне нравится порядок и нравятся стандарты. Не гоже менять правила во время игры. Раз уж начали косить под Си, пусть будет Си.
Forex Trader
114318
Forex Trader  
Мужики вы че?!!! Я же присваиваю переменной double, а не int!!! Где неявное преобразование типов С/С++. А может скажите, если в функции Принт() вместо строковой переменной вставлю любую другую мне фиг с маслом должно напечататься. Ну знаете! Вообще, зачем вам типы данных в таком языке?
Forex Trader
114318
Forex Trader  
Мужики вы че?!!! Я же присваиваю переменной double, а не int!!! Где неявное преобразование типов С/С++. А может скажите, если в функции Принт() вместо строковой переменной вставлю любую другую мне фиг с маслом должно напечататься. Ну знаете! Вообще, зачем вам типы данных в таком языке?

Спокойней, товарисч!
Мужики в порядке.
Преобразование тоже работает как надо.
Тема стара, как эниак.
int 10/ int 100 = int 0
double 0. = int 0
Физичный пример:
Поделите десятидолларовую купюру на 100 маленьких кусочков десятидолларовой купюры.
Сколько долларов получите в результате?
Forex Trader
114318
Forex Trader  
double x = 10 / 100;
идет сначало деление, а патом приведение к типу double.
Forex Trader
114318
Forex Trader  
Об этом уже писалось многократно.
Разработчиков просили выдавать ПРЕДУПРЕЖДЕНИЕ при компиляции при неявном преобразовании типов.
Но они упорно игнорируют эти просьбы и позволяют людям многократно наступать на одни и те же грабли.

Квотовцы.
Исправьте компилятор!
MetaQuotes Software Corp.
Модератор
192432
MetaQuotes Software Corp.  
Об этом уже писалось многократно.
Разработчиков просили выдавать ПРЕДУПРЕЖДЕНИЕ при компиляции при неявном преобразовании типов.
Но они упорно игнорируют эти просьбы и позволяют людям многократно наступать на одни и те же грабли.

Квотовцы.
Исправьте компилятор!

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

Было бы замечательно, если бы перед выдачей совета производилась самостоятельная попытка применить совет на тестовой ситуации в общем случае и в частном. Зачастую делаются скоропалительные выводы на основе частного случая без оценки последствий в общем.

ps: в детстве для меня стало откровением то, что числа бывают дробными. Целый день я ходил воодушевленный новым знанием и складывал 0.5 + 0.3 = 0.8 и тд. Так и для программистов в свое время становится откровением то, что у компьютерной арифметики вещественных чисел есть определенная точность. И было бы непростительно скрывать от начинающих программистов такое положение дел :)
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий