Непонимание приведения типов - страница 4

 

Специално для Player_2:

В Delphi для целочисленного деления есть спец. оператор - div. А в С, Java, MQL4 и т.д. если слево и справо слэша находится int, то деление - целочисленное. Поэтому и използуется схема типа:

double a=100/8.0;

а не:

double b=100/8;

a будет 12.5 а b - 12

 
Itso:

Специално для Player_2:


В Delphi для целочисленного деления есть спец. оператор - div. А в С, Java, MQL4 и т.д. если слево и справо слэша находится int, то деление - целочисленное. Поэтому и използуется схема типа:


double a=100/8.0;


а не:


double b=100/8;


a будет 12.5 а b - 12



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

Всё-таки я за то, чтобы double b=100/8 равнялось 12,5

Иначе получается лозунг "Автотрейдинг - в массы" как-то совсем ничем не поддерживается.

Честно говоря, если бы не был знаком с программирование, то было бы не легко понять почему 100/8 != 100/8.0

Как аксиому запомнить можно, но на мой взгляд важнее понимание, а не зубрёж.

И как мне кажется среди трейдеров реальные программисты не составляют большинства.

А на счёт производительности - как только ТЕСТЕР начнёт поддерживать многопоточность, то это не будет проблеммой. ;)