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

C++中数学函数的使用方法

在 C++ 里,数学函数主要定义在 <cmath> 头文件中,该头文件提供了众多用于执行各种数学运算的函数。下面将详细介绍一些常见数学函数的使用方法。

目录

1. 基本的算术运算函数

1.1 sqrt() - 计算平方根

1.2 pow() - 计算幂次方

2. 三角函数

2.1 sin()、cos()、tan() - 计算正弦、余弦和正切值

2.2 asin()、acos()、atan() - 计算反正弦、反余弦和反正切值

3. 对数和指数函数

3.1 exp() - 计算自然指数

3.2 log() 和 log10() - 计算自然对数和以 10 为底的对数

4. 取整和绝对值函数

4.1 abs()、fabs() - 计算绝对值

4.2 ceil() 和 floor() - 向上取整和向下取整

1. 基本的算术运算函数

1.1 sqrt() - 计算平方根

  • 功能:计算一个非负实数的平方根。
  • 原型double sqrt(double x);
  • 示例代码
#include <iostream>
#include <cmath>

int main() {
    double num = 25.0;
    double result = std::sqrt(num);
    std::cout << "The square root of " << num << " is " << result << std::endl;
    return 0;
}
1.2 pow() - 计算幂次方

  • 功能:计算 x 的 y 次幂。
  • 原型double pow(double x, double y);
  • 示例代码
#include <iostream>
#include <cmath>

int main() {
    double base = 2.0;
    double exponent = 3.0;
    double result = std::pow(base, exponent);
    std::cout << base << " raised to the power of " << exponent << " is " << result << std::endl;
    return 0;
}

2. 三角函数

2.1 sin()cos()tan() - 计算正弦、余弦和正切值

  • 功能:分别计算给定角度(以弧度为单位)的正弦、余弦和正切值。
  • 原型
    • double sin(double x);
    • double cos(double x);
    • double tan(double x);
  • 示例代码
#include <iostream>
#include <cmath>

int main() {
    double angleInRadians = 1.0; // 1 弧度
    double sinValue = std::sin(angleInRadians);
    double cosValue = std::cos(angleInRadians);
    double tanValue = std::tan(angleInRadians);

    std::cout << "sin(" << angleInRadians << ") = " << sinValue << std::endl;
    std::cout << "cos(" << angleInRadians << ") = " << cosValue << std::endl;
    std::cout << "tan(" << angleInRadians << ") = " << tanValue << std::endl;
    return 0;
}
2.2 asin()acos()atan() - 计算反正弦、反余弦和反正切值

  • 功能:分别计算给定值的反正弦、反余弦和反正切值,返回值为弧度。
  • 原型
    • double asin(double x);
    • double acos(double x);
    • double atan(double x);
  • 示例代码
#include <iostream>
#include <cmath>

int main() {
    double value = 0.5;
    double asinValue = std::asin(value);
    double acosValue = std::acos(value);
    double atanValue = std::atan(value);

    std::cout << "arcsin(" << value << ") = " << asinValue << " radians" << std::endl;
    std::cout << "arccos(" << value << ") = " << acosValue << " radians" << std::endl;
    std::cout << "arctan(" << value << ") = " << atanValue << " radians" << std::endl;
    return 0;
}

3. 对数和指数函数

3.1 exp() - 计算自然指数

  • 功能:计算 e 的 x 次幂,其中 e 是自然常数(约为 2.71828)。
  • 原型double exp(double x);
  • 示例代码
#include <iostream>
#include <cmath>

int main() {
    double x = 2.0;
    double result = std::exp(x);
    std::cout << "e raised to the power of " << x << " is " << result << std::endl;
    return 0;
}
3.2 log() 和 log10() - 计算自然对数和以 10 为底的对数

  • 功能log() 计算自然对数(以 e 为底),log10() 计算以 10 为底的对数。
  • 原型
    • double log(double x);
    • double log10(double x);
  • 示例代码
#include <iostream>
#include <cmath>

int main() {
    double num = 100.0;
    double naturalLog = std::log(num);
    double commonLog = std::log10(num);

    std::cout << "Natural logarithm of " << num << " is " << naturalLog << std::endl;
    std::cout << "Common logarithm of " << num << " is " << commonLog << std::endl;
    return 0;
}

4. 取整和绝对值函数

4.1 abs()fabs() - 计算绝对值

  • 功能abs() 用于计算整数的绝对值,fabs() 用于计算浮点数的绝对值。
  • 原型
    • int abs(int x);
    • double fabs(double x);
  • 示例代码
#include <iostream>
#include <cmath>

int main() {
    int intNum = -5;
    double doubleNum = -3.14;

    int intAbs = std::abs(intNum);
    double doubleAbs = std::fabs(doubleNum);

    std::cout << "Absolute value of " << intNum << " is " << intAbs << std::endl;
    std::cout << "Absolute value of " << doubleNum << " is " << doubleAbs << std::endl;
    return 0;
}
4.2 ceil() 和 floor() - 向上取整和向下取整

  • 功能ceil() 将一个浮点数向上取整为不小于该数的最小整数,floor() 将一个浮点数向下取整为不大于该数的最大整数。
  • 原型
    • double ceil(double x);
    • double floor(double x);
  • 示例代码
#include <iostream>
#include <cmath>

int main() {
    double num = 3.2;
    double ceiling = std::ceil(num);
    double floorValue = std::floor(num);

    std::cout << "Ceiling of " << num << " is " << ceiling << std::endl;
    std::cout << "Floor of " << num << " is " << floorValue << std::endl;
    return 0;
}

要使用这些数学函数,只需在代码中包含 <cmath> 头文件,然后按照函数原型调用相应的函数即可。在使用三角函数时,要注意角度的单位是弧度,如果需要将角度从度转换为弧度,可以使用公式 radians = degrees * (M_PI / 180)(在某些编译器中,M_PI 可能未定义,你可以手动定义 #define M_PI 3.14159265358979323846)。


http://www.kler.cn/a/557404.html

相关文章:

  • sh脚本把服务器B,服务器C目录的文件下载到服务器A目录,添加开机自启动并且一小时执行一次脚本
  • 算法题(75):跳跃游戏
  • 位操作符 练习
  • mysql之Innodb数据页
  • Redis 基础命令 --- ZSet篇
  • Java字符读取类
  • 【超详细】神经网络的可视化解释
  • UE_C++ —— Gameplay Classes
  • Win11 24h2 不能正常使用ensp的问题(已解决)
  • 《道德经的现代智慧:解码生活与商业的底层逻辑1》
  • 二、《重学设计模式》-UML类图
  • 【GESP】C++二级真题 luogu-b3924, [GESP202312 二级] 小杨的H字矩阵
  • 嵌入式硬件篇---数字电子技术中的触发器
  • 微信小程序登录获取用户openid,获取昵称、头像、手机号授权
  • 【JavaScript】《JavaScript高级程序设计 (第4版) 》笔记-Chapter20-JavaScript API
  • 简单说一下什么是RPC
  • 【数据结构】排序算法---直接插入排序(动图演示)
  • [通俗易懂C++]:指针和const
  • 数据库简史 |DBA的智能时代,从DeepSeek到DeepThink
  • io流—字节缓冲流,字节转换流