C语言再学习 -- C语言实现 sin 和 cos 功能

news/2024/10/23 8:35:50/

之前在 C语言再学习 – C 标准库 - math.h 里有介绍 sin 和 cos 函数。但是这两个函数C语言该怎么实现呢?

首先看一下这两个函数的介绍:

函数介绍

C 库函数 - sin()

C 标准库 - <math.h>
描述
C 库函数 double sin(double x) 返回弧度角 x 的正弦。
声明
下面是 sin() 函数的声明。
double sin(double x)
参数
x – 浮点值,代表了一个以弧度表示的角度
返回值
该函数返回 x 的正弦。

C 库函数 - cos()

C 标准库 - <math.h>
描述
C 库函数 double cos(double x) 返回弧度角 x 的余弦。
声明
下面是 cos() 函数的声明。
double cos(double x)
参数
x – 浮点值,代表了一个以弧度表示的角度
返回值
该函数返回 x 的余弦。

注意:

这里需要注意的是:这两个C库函数的 参数是弧度

而手机计算器里的 sin cos 的参数单位是 角度
在这里插入图片描述
弧度和角度单位换算:
参看:日常生活小技巧 – 单位换算

1弧度(rad) = 180/PI 度(deg) = 57.29577951308232 度(deg)
1度(deg) = PI/180 弧度(rad) = 0.017453292519943 弧度(rad)

C语言实现 sinf 和 cosf 功能

#define PI                  (3.1415926F)
#define D_PI                (6.2831852F)
#define TINY_VALUE      	(1e-3f) // computation accuracy/** -----------------------------------------------------------------------------------------------@brief         absolute value function@param[in]     float x - input number@return        float result - absolute value of input data.
*//*---------------------------------------------------------------------------------------------*/
static inline float MyFabs(float x)
{return (x > 0.0f) ? x : -x;
}/** -----------------------------------------------------------------------------------------------@brief         sine calculation function@param[in]     float x - input number@return        float sum -result
*//*---------------------------------------------------------------------------------------------*/
float MySinf(float x)
{float n,sum,x2,temp;int32_t i, m;/* the period of sine fucntion is 2*PI */m = (int32_t)(x / D_PI);x = x - D_PI * m;n = x;sum = 0.0f;i = 1;x2 = x * x;/* Taylor expansion*/do{sum += n;i++;temp = -n * x2;n = temp / (((i << 2) - 6) * i + 2);  // n = temp / (2*i - 1) / (2*i - 2);} while (MyFabs(n)>=TINY_VALUE);return sum;
}/** -----------------------------------------------------------------------------------------------@brief         cosine calculation function@param[in]     float x - input number@return        float result
*//*---------------------------------------------------------------------------------------------*/
inline float MyCosf(float x)
{return MySinf(PI/2.0f-x);
}

http://www.ppmy.cn/news/1110752.html

相关文章

【openKylin】OpenKylin1.0 x86_64 VMWare安装手册

【openKylin】OpenKylin1.0 x86_64 VMWare安装手册

&#x1f341; 博主 "开着拖拉机回家"带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——&#x1f390;开着拖拉机回家_大数据运维-CSDN博客 &#x1f390;✨&#x1f341; &#x1fa81;&#x1f341; 希望本文能够给您带来一定的帮助&#x1f338;文…
阅读更多...
java获取当前日期并格式化

java获取当前日期并格式化

要在 Java 中获取当前日期并进行格式化&#xff0c;您可以使用 java.time 包中的类。以下是一个示例代码&#xff0c;演示如何获取当前日期并将其格式化为特定的日期格式&#xff1a; import java.time.LocalDate; import java.time.format.DateTimeFormatter; public class …
阅读更多...
进程属性/进程状态

进程属性/进程状态

task_struct-PCB的一种 在Linux中描述进程的结构体叫做task_struct。进程也叫任务 task_struct是Linux内核的一种数据结构&#xff0c;它会被装载到RAM(内存)里并且包含着进程的信息。 task_ struct内容分类 标示符: 描述本进程的唯一标示符&#xff0c;用来区别其他进程。 …
阅读更多...
Spring WebFlux—Reactive 核心

Spring WebFlux—Reactive 核心

一、概述 spring-web 模块包含以下对响应式Web应用的基础支持&#xff1a; 对于服务器请求处理&#xff0c;有两个级别的支持。 HttpHandler: 用于HTTP请求处理的基本约定&#xff0c;具有非阻塞I/O和Reactive Streams背压&#xff0c;以及Reactor Netty、Undertow、Tomcat、…
阅读更多...
步态识别常见模块解读及代码实现:基于OpenGait框架

步态识别常见模块解读及代码实现:基于OpenGait框架

步态识别常见模块解读及代码实现&#xff1a;基于OpenGait框架 最近在看步态识别相关论文&#xff0c;但是因为记忆力下降的原因&#xff0c;老是忘记一些内容。因此记录下来方便以后查阅&#xff0c;仅供自己学习参考&#xff0c;没有背景知识和论文介绍。 目录 步态识别常见…
阅读更多...
SpringMVC之自定义注解

SpringMVC之自定义注解

目录 一.什么是Java注解 1.简介 2.注解的分类 3.JDK元注解 二.自定义注解 1.自定义注解的分类 1.1.标记Annotation: 1.2.元数据Annotation: 2.如何使用自定义注解 3.案例演示 3.1 获取类、方法及属性上的注解值 3.2Inherited 的使用 3.3获取类属性上的注解属性值 3.…
阅读更多...
线性代数的本质(七)——特征值和特征向量

线性代数的本质(七)——特征值和特征向量

特征值和特征向量 本章特征值和特征向量的概念只在方阵的范畴内探讨。 相似矩阵 Grant&#xff1a;线性变换对应的矩阵依赖于所选择的基。 一般情况下&#xff0c;同一个线性变换在不同基下的矩阵不同。仍然以平面线性变换为例&#xff0c;Grant 选用标准坐标系下的基向量 i…
阅读更多...
Java——》synchronized锁粗化锁消除

Java——》synchronized锁粗化锁消除

推荐链接&#xff1a; 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…
阅读更多...
最新文章

玻璃钢生产厂家卡通玻璃钢雕塑设计公司商场美陈布置商场美陈产品方案ppt开远市玻璃钢雕塑设计如何苏州玻璃钢商场美陈滁州卡通玻璃钢雕塑玻璃钢仿真水蜜桃雕塑温州中庭商场美陈温州端州玻璃钢卡通雕塑卡通玻璃钢动物雕塑需要几天半身玻璃钢雕塑洛阳济源玻璃钢雕塑天津玻璃钢天猫雕塑玻璃钢花盆井盖宣城卡通玻璃钢雕塑厂家安徽玻璃钢牛雕塑ps商场美陈玻璃钢雕塑厂家联系电话商场美陈的研发作用南京玻璃钢雕塑批发玻璃钢饼干雕塑贵州环保玻璃钢雕塑哪家便宜上海玻璃钢雕塑模型厂家玻璃钢人物胸像雕塑2020上海商场美陈玻璃钢海洋雕塑服务公司贵州人物玻璃钢雕塑订做价格玻璃钢魔法帽雕塑许昌标识标牌玻璃钢彩绘雕塑玻璃钢童话卡通雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化