помогите с типами данных
- Войдите на сайт для отправки комментариев
Ср, 08/10/2014 - 09:54
Я новичек в С, поэтому такой нубский вопрос.
Понадобилось мне рассчитать арксинус через ряд Фурье.
float arcsinF (float var) { float tmp=0; float val; float result=0; val = var; tmp = val+ (1/6)*pow(val,3)+ (3/40)*pow(val,5) +(15/336)*pow(val,7) +(105/3456)*pow(val,9); result = (tmp*180/3.14159); return result; }
Однако столкнулся с такой проблемой. При вызове arcsinF(10/40) упорно возврашает 0 потому что 10 и 40 целые числа. тоже с использованием переменных типа int. как это победить? Я не хочу ради одной функции переводить все переменные в float.
короче говоря как получить float результат от деления двух int?
Может быть начать с начала? Ну типа накой это нужно в ардуино?
http://arduino.cc/en/Reference/Float
Мне просто любопытно, на сколько подвесает уно при подобных расчетах.
спасибо. просто я привык что операция деления это всегда Float, вот и напоролся. Получается, что за типами данных и результата нужно следить постоянно.
Пока совсем не подвисает)) но код еще совсем маленький. вот если бы я тотже арксинус считал через ряд Фурье члена так до 100-го рекурсией, тогда да. но это уже тема другого топика. Просто из соображений экономии памяти и быстродействия стараюсь по минимуму использовать переменные Float, вот и столкнулся.
тема закрыта