С чего это тип int?
Попробуйте привести к инту число 4294967296.123
Ну long.
Не вопрос.
Как насчёт такого числа? 18446744073709551616.123
Не вопрос.
Как насчёт такого числа? 18446744073709551616.123
С таким подходом давайте все числа double пусть будут.
Вдруг например пункты между ордерами надо будет сделать 1844674407370955161689987
Короче понятно. Застой.
С таким подходом давайте все числа double пусть будут.
Вдруг например пункты между ордерами надо будет сделать 1844674407370955161689987
Короче понятно. Застой.
double для некоторых случаев не хватает. 8 байт, имеющихся в double, как выяснили разработчики процессоров, недостаточно. Считать иногда приходится не только пункты, а, например, вероятности по формулам комбинаторики с факториалами. Тогда нужен переход к логарифмам, и, конечно, использование математического сопроцессора, Floating point unit - FPU, для процессоров i386 назывался i387 (80-е годы) и был еще отдельным камнем с ножками. Cейчас встроен в один камень с арифметико-логическим устройством - АЛУ, основным процессором. В том числе в случае многоядерных (многопроцессорных) камней. В FPU аппаратно реализованы операции над вещественными числами, причем в 10-байтном представлении с 19 десятичными значащими цифрами. Числа и операции над ними в FPU в итоге развития под человеческие потребности стали соответствовать стандарту IEEE 754. Что касается задачи округления вещественного числа, оно реализуется разными способами:
Способы округления чисел по стандарту IEEE 754:
А для выбора способа округления есть регистр управления FPU, где и задается нужный способ.
Разработчики языков (сред) программирования, например, Borland International, также сочли нужным дать возможность хранить (именно хранить, изначально 10-байтный формат назывался "временным") данные в 10-байтном формате extended. То есть ввели в употребление этот тип данных вне FPU.
У меня язык бы не повернулся назвать итоги многолетнего упорного труда тысяч людей застоем. Разработчики MQL4 правильно сделали, что передали имеющиеся в компьютере возможности, а не стали выдумывать что-нибудь более слабое, ограниченное из соображений размаха курсов валютных пар и точности их представления в терминале.
double для некоторых случаев не хватает. 8 байт, имеющихся в double, как выяснили разработчики процессоров, недостаточно. Считать иногда приходится не только пункты, а, например, вероятности по формулам комбинаторики с факториалами. Тогда нужен переход к логарифмам, и, конечно, использование математического сопроцессора, Floating point unit - FPU, для процессоров i386 назывался i387 (80-е годы) и был еще отдельным камнем с ножками. Cейчас встроен в один камень с арифметико-логическим устройством - АЛУ, основным процессором. В том числе в случае многоядерных (многопроцессорных) камней. В FPU аппаратно реализованы операции над вещественными числами, причем в 10-байтном представлении с 19 десятичными значащими цифрами. Числа и операции над ними в FPU в итоге развития под человеческие потребности стали соответствовать стандарту IEEE 754. Что касается задачи округления вещественного числа, оно реализуется разными способами:
Способы округления чисел по стандарту IEEE 754:
А для выбора способа округления есть регистр управления FPU, где и задается нужный способ.
Разработчики языков (сред) программирования, например, Borland International, также сочли нужным дать возможность хранить (именно хранить, изначально 10-байтный формат назывался "временным") данные в 10-байтном формате extended. То есть ввели в употребление этот тип данных вне FPU.
У меня язык бы не повернулся назвать итоги многолетнего упорного труда тысяч людей застоем. Разработчики MQL4 правильно сделали, что передали имеющиеся в компьютере возможности, а не стали выдумывать что-нибудь более слабое, ограниченное из соображений размаха курсов валютных пар и точности их представления в терминале.
Хоть-бы выражался попроще, ведь этот клон забаненного может перепутать процессор с камнями из каменного века...))))))))
.... Разработчики MQL4 правильно сделали...
Возвращаемое значение
Числовое значение, представляющую наименьшее целое число, которое больше или равно val.
Возвращаемое значение
Числовое значение, представляющую наименьшее целое число, которое больше или равно val.
Вы имеете в виду разницу между максимальным целым числом в формате double около 10^308 и максимальным значением переменных целочисленных типов около 2*10^19? То есть в какую переменную принимать результат MathCeil или как проверить, что он поместится в long или ulong?
Или речь о том, что наименьшим это целое будет не всегда из-за разрешающей способности мантиссы double 52 бита?
Не манди.
Ты-же ушёл на аглицкий форум и обещал не возвращаться...
Возвращаемое значение
Числовое значение, представляющую наименьшее целое число, которое больше или равно val.
Целое число не значит тип int а всего лишь отсутствие дробной части числа.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
1)Передайте разработчикам что MathCeil MathFloor это тип int а не double.
2)МТ4. После применения теплейта обрезается кусок ценовой шкалы. Исправляют 7-ой месяц.