Во-первых, в зависимости от ваших требований к точности, это может быть значительно сложнее, чем ваши предыдущие вопросы.
Теперь, когда вас предупредили: вы сначала захотите уменьшить аргумент по модулю pi / 2 (или 2pi, или pi, или pi / 4), чтобы получить ввод в управляемом диапазоне.Это тонкая часть.Чтобы приятно обсудить возникающие проблемы, загрузите копию СНИЖЕНИЯ АРГУМЕНТА ДЛЯ ОГРОМНЫХ АРГУМЕНТОВ KC Ng: «Хорошо до последней биты» .(простой поиск Google по названию даст вам PDF).Он очень удобен для чтения и прекрасно объясняет, почему это сложно.
После этого вам нужно только аппроксимировать функции в небольшом диапазоне около нуля, что легко сделать с помощью полиномиального приближения.Ряд Тейлора будет работать, хотя он неэффективен.Усеченный чебышевский ряд легко вычисляется и достаточно эффективен;вычисление минимаксного приближения еще лучше.Это самая простая часть.
Я реализовал синус и косинус точно так, как описано, полностью в целых числах, в прошлом (извините, нет открытых источников).Используя сборку с ручной настройкой, результаты в окрестности 100 циклов вполне приемлемы для «типичных» процессоров.Я не знаю, с каким оборудованием вы работаете (производительность будет в основном зависеть от того, насколько быстро ваше оборудование сможет производить большую часть целочисленного умножения).