当前位置: 首页 > news >正文

math.h函数

math.c函数作用

1. 基本三角函数(参数为弧度)

  • sin(double x):计算正弦值。
  • cos(double x):计算余弦值。
  • tan(double x):计算正切值。
  • asin(double x):反正弦(返回值范围:[-π/2, π/2])。
  • acos(double x):反余弦(返回值范围:[0, π])。
  • atan(double x):反正切(返回值范围:[-π/2, π/2])。
  • atan2(double y, double x):四象限反正切(返回值范围:[-π, π])。

2. 双曲函数

  • sinh(double x):双曲正弦。
  • cosh(double x):双曲余弦。
  • tanh(double x):双曲正切。
  • asinh(double x):反双曲正弦。
  • acosh(double x):反双曲余弦(要求x ≥ 1)。
  • atanh(double x):反双曲正切(要求|x| < 1)。

3. 指数与对数函数

  • exp(double x):计算自然指数 e**x
  • log(double x):自然对数 ln(x)(要求x > 0)。
  • log10(double x):常用对数 log10(x)(要求x > 0)。
  • log2(double x):以 2 为底的对数(C99 新增)。
  • pow(double x, double y):计算 x**y
  • sqrt(double x):平方根(要求x ≥ 0)。
  • cbrt(double x):立方根(C99 新增)。

4. 绝对值与取整

  • fabs(double x):浮点数绝对值。
  • ceil(double x):向上取整(返回不小于x的最小整数)。
  • floor(double x):向下取整(返回不大于x的最大整数)。
  • trunc(double x):截断取整(直接去除小数部分,C99 新增)。
  • round(double x):四舍五入取整(C99 新增)。

5. 其他常用函数

  • hypot(double x, double y):计算 x2+y2(常用于求直角三角形斜边)。
  • fmod(double x, double y):浮点数取余(结果符号与x相同)。
  • remainder(double x, double y):IEEE 754 标准的余数(C99 新增)。
  • fma(double x, double y, double z): fused multiply-add(计算x*y + z,C99 新增)。

使用示例

#include <stdio.h>
#include <math.h>int main() {double x = 2.5;printf("sin(%.2f) = %.2f\n", x, sin(x));      // 三角函数printf("exp(%.2f) = %.2f\n", x, exp(x));      // 指数函数printf("sqrt(%.2f) = %.2f\n", x, sqrt(x));    // 平方根printf("ceil(%.2f) = %.2f\n", x, ceil(x));    // 向上取整return 0;
}

编译注意:使用math.h函数时,需要在编译命令中添加-lm链接数学库(例如:gcc your_file.c -o output -lm)。

http://www.lryc.cn/news/592786.html

相关文章:

  • 深度学习零基础入门(3)-图像与神经网络
  • 需求变更频繁?构建动态估算机制四大要点
  • 短视频矩阵系统:选择与开发的全面指南
  • nastools继任者?极空间部署影视自动化订阅系统『MediaMaster』
  • 代理模式及优化
  • 解锁时序数据库选型密码,为何国产开源时序数据库IoTDB脱颖而出?
  • 脉冲神经网络(Spiking Neural Network, SNN)与知识蒸馏(Knowledge Distillation, KD)
  • Vue3 Anime.js超级炫酷的网页动画库详解
  • Kubernetes (k8s)、Rancher 和 Podman 的异同点分析
  • Jmeter系列(6)-测试计划
  • 网关-微服务网关实现
  • Postman/Apipost中使用Post URL编码发送含换行符参数的问题分析
  • vue2 面试题及详细答案150道(101 - 120)
  • 智慧后厨检测算法构建智能厨房防护网
  • Redis学习其三(订阅发布,主从复制,哨兵模式)
  • 【大模型:知识图谱】--6.Neo4j DeskTop安装+使用
  • RS485转PROFIBUS DP网关写入命令让JRT激光测距传感器开启慢速模式连续测量
  • CCF编程能力等级认证GESP—C++1级—20250628
  • FLTK UI窗口关闭时延时卡顿问题全流程分析与优化实战
  • C++算法竞赛篇:DevC++ 如何进行debug调试
  • 记录DataGrip 2025.1.3破解失败后,无法重启问题修复
  • 第16章 基于AB实验的增长实践——验证想法:AB实验实践
  • pom.xml文件中的${}变量从哪里传值
  • UniApp TabBar 用户头像方案:绕过原生限制的实践
  • React + Mermaid 图表渲染消失问题剖析及 4 种代码级修复方案
  • Java异步日志系统性能优化实践指南:基于Log4j2异步Appender与Disruptor
  • Camera相机人脸识别系列专题分析之十七:人脸特征检测FFD算法之libhci_face_camera_api.so 296点位人脸识别检测流程详解
  • CentOS 7 配置环境变量常见的4种方式
  • 虚拟机centos服务器安装
  • 机器人行业10年巨变从协作机器人到具身智能的萌芽、突破和成长——从 Automatic慕尼黑10 年看协作机器人到具身智能的发展