Hi,
[quote «MATLAB — Programming Fundamentals R2011b.pdf»] Арифметические операции, включающие как целые числа, так и числа с плавающей запятой, всегда приводят к целочисленному типу данных. MATLAB округляет результат, когда это необходимо, в соответствии с алгоритмом округления по умолчанию. Пример ниже дает точный ответ 1426,75, который MATLAB затем округляет до следующего наибольшего целого числа:
int16(325) * 4.39 ans = 1427
[/цитировать]
В C/C++ правило арифметического преобразования заключается в повышении ↑ вверх: char в int, int unsigned int, int в float, float в double и т. д.
Почему дизайн Matlab должен быть ниже (int)?
ПРИМЕЧАНИЕ.
Matlabsolutions.com предоставляет последнюю Помощь по домашним заданиям MatLab, Помощь по заданию MatLab для студентов, инженеров и исследователей в различных отраслях, таких как ECE, EEE, CSE, Mechanical, Civil со 100% выходом. Код Matlab для BE, B.Tech ,ME,M.Tech, к.т.н. Ученые со 100% конфиденциальностью гарантированы. Получите проекты MATLAB с исходным кодом для обучения и исследований.
Поскольку я работаю в области кодогенерации, такое поведение регулярно доставляет мне неудобства, но, может быть, я могу представить, почему. В MATLAB большинство пользователей делают почти все с двойниками. При программировании на языке MATLAB рядовой пользователь даже не задумывается о числовых типах. Меня тогда не было, но я думаю, что целые числа были изначально добавлены в язык в основном потому, что было обременительно представлять такие вещи, как изображения, в виде больших массивов двойников. Добавив в язык целые числа для экономии памяти, вы вряд ли захотите, чтобы что-то простое, например, умножение большого массива int8 на 2 (это двойная точность 2.0 в MATLAB), сгенерировало большой массив двойной точности из большого массива целых чисел.
СМОТРИТЕ ПОЛНЫЙ ОТВЕТ НАЖМИТЕ НА ССЫЛКУ