грешите v/s sinf функция в C

Я пытаюсь использовать sinf функция в моей Программе C, но это дает мне неопределенную ссылочную ошибку под MSVC 6.0, однако sin хорошо работает.

Это делает меня любопытным найти различие между sin и sinf.

Между чем логическое различие sin и sinf ?

Как я могу реализовать свое собственное sinf функциональность?

7
задан Paul R 10 January 2017 в 17:10
поделиться

3 ответа

sin принимает двойник и возвращает двойник - sinf принимает поплавок и возвращает поплавок.

Другими словами, sin — это двойная точность, а sinf — одинарная точность.

Если вы используете старый компилятор, у которого нет sinf, вы можете реализовать его как:

#define sinf(x) (float)sin((double)(x))

7
ответ дан 6 December 2019 в 21:11
поделиться

sin принимает двойное значение и возвращает двойное значение и определяется ANSI C. sinf не является.

3
ответ дан 6 December 2019 в 21:11
поделиться

sinf () был добавлен в C на C99, который Microsoft Visual C ++ не поддерживает полностью (даже в этом случае Visual C ++ 6 был выпущен до C99 был стандартизирован).

Вы можете использовать функцию sin () , которая принимает double ( sinf () принимает float ).

2
ответ дан 6 December 2019 в 21:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: