C++常用数学函数详解与代码示例

用C++求绝对值的几种方法 相信大家在学习C++时,应该都有做过求绝对值的题目,今天我给大家介绍几种求绝对值的方法。 阅读详情

C++常用数学函数详解与代码示例

C++标准库<cmath>提供了丰富的数学函数,本文将通过代码示例讲解8类核心函数的用法。

一、绝对值函数

#include <iostream>
#include <cmath>    // 数学函数头文件
#include <cstdlib>  // 用于整数绝对值

int main() {
    // 整数绝对值
    int a = -5;
    std::cout << "abs(-5): " << std::abs(a) << "\n";  // 输出5

    // 浮点数绝对值
    double b = -3.14;
    std::cout << "fabs(-3.14): " << std::fabs(b) << "\n";  // 输出3.14

    // C++11通用绝对值(自动匹配类型)
    std::cout << "std::abs(-2.718): " << std::abs(-2.718) << "\n";  // 输出2.718
    return 0;
}

二、四舍五入函数

#include <iostream>
#include <cmath>

int main() {
    double num1 = 2.3;
    double num2 = 2.5;
    double num3 = -2.5;

    std::cout << "round(2.3): " << std::round(num1) << "\n";   // 2
    std::cout << "round(2.5): " << std::round(num2) << "\n";   // 3(向远离0方向舍入)
    std::cout << "round(-2.5): " << std::round(num3) << "\n";  // -3
    return 0;
}

三、取整函数

#include <iostream>
#include <cmath>

int main() {
    double x = 2.7;
    double y = 2.3;
    double z = -2.7;

    // 下取整(地板函数)
    std::cout << "floor(2.7): " << std::floor(x) << "\n";   // 2.0
    std::cout << "floor(-2.7): " << std::floor(z) << "\n";  // -3.0

    // 上取整(天花板函数)
    std::cout << "ceil(2.3): " << std::ceil(y) << "\n";    // 3.0
    std::cout << "ceil(-2.7): " << std::ceil(z) << "\n";   // -2.0

    // 强制转换为整数
    int result = static_cast<int>(std::floor(3.99));  // 得到3
    return 0;
}

四、平方根函数

#include <iostream>
#include <cmath>

int main() {
    double val1 = 16.0;
    double val2 = -4.0;

    std::cout << "sqrt(16): " << std::sqrt(val1) << "\n";  // 4.0
    std::cout << "sqrt(-4): " << std::sqrt(val2) << "\n";  // 输出nan(非数字)
    
    // 错误处理示例
    if(std::isnan(std::sqrt(val2))) {
        std::cout << "Invalid input for sqrt!\n";
    }
    return 0;
}

五、三角函数

#include <iostream>
#include <cmath>

int main() {
    const double PI = 3.141592653589793;

    // 计算60度的正弦值(需转换为弧度)
    double angle = 60.0 * PI / 180.0;
    std::cout << "sin(60°): " << std::sin(angle) << "\n";  // ≈0.866025

    // 反三角函数示例
    double asin_val = std::asin(0.5) * 180 / PI;  // 结果转换为角度
    std::cout << "arcsin(0.5): " << asin_val << "°\n";  // 30°

    // 使用atan2计算方位角
    std::cout << "atan2(1,1): " << std::atan2(1,1) << " radians\n";  // π/4
    return 0;
}

六、对数函数

#include <iostream>
#include <cmath>

int main() {
    // 自然对数(以e为底)
    std::cout << "ln(e): " << std::log(M_E) << "\n";  // 1.0

    // 常用对数(以10为底)
    std::cout << "log10(1000): " << std::log10(1000) << "\n";  // 3.0

    // 二进对数(C++11)
    std::cout << "log2(256): " << std::log2(256) << "\n";  // 8.0

    // 错误示例
    std::cout << "log(-1): " << std::log(-1) << "\n";  // 输出nan
    return 0;
}

七、指数函数

#include <iostream>
#include <cmath>

int main() {
    // 自然指数函数
    std::cout << "exp(1): " << std::exp(1) << "\n";  // ≈2.71828

    // 幂函数
    std::cout << "pow(2,3): " << std::pow(2,3) << "\n";    // 8.0
    std::cout << "pow(8,1/3.0): " << std::pow(8,1/3.0) << "\n"; // 2.0

    // 负数幂运算
    std::cout << "pow(-2,3): " << std::pow(-2,3) << "\n";  // -8.0
    std::cout << "pow(-2,2.5): " << std::pow(-2,2.5) << "\n"; // nan
    return 0;
}

八、综合应用示例

#include <iostream>
#include <cmath>

// 计算二维空间两点距离
double distance(double x1, double y1, double x2, double y2) {
    return std::hypot(x2-x1, y2-y1);  // 更安全的计算方式
}

int main() {
    // 综合计算示例
    double num = 3.7;
    std::cout << "综合运算:\n"
              << "原始值: " << num << "\n"
              << "绝对值: " << std::abs(num) << "\n"
              << "平方根: " << std::sqrt(num) << "\n"
              << "四舍五入: " << std::round(num) << "\n"
              << "下取整: " << std::floor(num) << "\n"
              << "上取整: " << std::ceil(num) << "\n"
              << "正弦值: " << std::sin(num) << "\n"
              << "自然对数: " << std::log(num) << "\n"
              << "e的幂次: " << std::exp(num) << "\n";

    std::cout << "两点距离: " << distance(0,0,3,4) << "\n";  // 输出5.0
    return 0;
}

关键注意事项

  1. 类型匹配:注意整数和浮点函数的区别(如abs()与fabs())
  2. 错误处理:负数平方根返回nan,对数函数需要正数输入
  3. 单位转换:三角函数使用弧度制,需自行转换角度
  4. 返回值类型:大部分函数返回double类型
  5. C++版本:部分函数(如round())需要C++11或更高标准

编译时建议使用以下命令:

g++ -std=c++11 -o math_demo math_demo.cpp

通过掌握这些核心数学函数,开发者可以高效实现各种数值计算需求。建议结合具体场景选择最合适的函数,并注意处理边界条件和异常输入。

C++常用头文件——常用数学函数头文件 cmath头文件 cmath是c++语言中的标准库头文件。其中的 “c” 表示其中的函数是来自 C标准库,“math”表示为数学常用库函数。此文件原作为<math.h>存在C标准库中。 基本运算 函数 作用 示例 abs(float) 取绝对值 cout<<abs(-3.21)<<endl fmod ( x, y ); 此函数计算的除法 x/y 的浮点余数是 x - n*y 的准确值,其中 n 是截断小数部分的 x/y 。 cout<<fm 阅读详情

相关推荐

C++常用内置函数

在 C++ 中,除了可以创建各种函数,还包含了各种有用的函数供您使用。这些函数写在标准 C 和 C++ 库中,叫做内置函数。您可以在程序中引用这些函数。 数学函数 C++ 内置了丰富的数学函数,可对各种数字进行运算。下表列出了 C++ 中一些有用的内置的数学函数。 为了利用这些函数,您需要引用数学头文件 。 函数 描述 double cos(double); 该函数返回弧度角(do...

Regina520的博客 1万+

C++之绝对值

C++中的绝对值

ETOZhuangYan的博客 3万+

C++ 常用数学函数详解汇总#include<cmath>

在C++中,可以使用 头文件来包含常用的数学函数。这个头文件为C++程序提供了许多数学操作的函数。

啊渊的专栏 2538

C/C++的取绝对值函数 abs()

取绝对值函数abs()

m0_51913750的博客 1万+

Matplotlib图片尺寸调整全攻略:从figsize到savefig的实战技巧

在数据可视化与科学计算中,图形尺寸控制是影响图表可读性与专业度的基础环节。其核心原理在于协调逻辑尺寸(英寸)与物理输出(像素)的映射关系,这直接决定了信息呈现的清晰度与布局合理性。从技术价值看,精准的尺寸控制能提升图表在不同媒介(如学术论文、报告、网页)中的适配性,避免显示不全、模糊失真等常见问题。在应用场景上,无论是Jupyter Notebook中的交互探索、自动化报告的批量生成,还是满足严格出版要求的插图制作,都需要掌握对应的尺寸调整策略。本文聚焦于matplotlib中的figsize参数、rcPa

weixin_30899023的博客 328

电动汽车充电设备标准化设计方案:电气原理图

80kW一体式一机一枪充电机电气原理 主电路拓扑见图1,配置1个250A直流充电连接装置,提供4个充电模块安装位置,根据充电功率需求可选配2~4个20kW充电模块。内置直流电能表和计费控制单元,实现计量计费和充电控制功能。 图1 80kW一体式一机一枪充电机主电路拓扑 ...

santirenpc的博客 1万+

C++中的绝对值函数

在处理大物实验数据时,通常在求解相对误差时需要用到绝对值函数 首先,绝对值里可以是任意的两个变量哦,下面是我在处理大物时写的 E=(fabs(e_Zhong_Ever-e0))/1.60e-19; cout<<" E相对误差:"<<E*100<<'%'<<endl; 一.#include内,有abs()函数,可以对整型变量求绝对值 #include内,有fabs()函数,可以对浮点型变量求绝对值 #include内,有long labs(long n)

weixin_45422321的博客 1万+

NY8A053E 例程 之 PWM Ouput

更多关于NY8A053E的相关例程请留言!

倪彬笑阳的博客 2924

C++中绝对值的用法

在C++中,std::fabs函数可以用于四则运算中,特别是当你需要确保参与运算的浮点数是正值时。std::fabs函数返回其参数的绝对值,这对于处理可能包含负数的表达式很有用。下面是一些示例,展示了如何在四则运算中使用std::fabs。

MAMA6681的博客 1403

NAS新玩法!豆瓣与迅雷结合,轻松实现自动下载电影自动追剧功能

NAS新玩法!豆瓣与迅雷结合,轻松实现自动下载电影自动追剧功能

XiaoqiangClub的博客 6386

Prism 入门02,区域介绍

什么是区域(Region)?区域,在Prism 框架中,区域是模块化的核心的功能之一,其主要作用是降低应用程序和模块之间的耦合度。使用方式:在应用程序的界面中,划分出某块区域,并为这个区域定义一个唯一的区域名称。那么通过这个区域名称,应用程序就可以找到指定的区域。并为这个区域动态放置一些容器或控件,从而呈现在界面中。

build2024 1125

C++常用数学函数

C++中常用的数学函数 cpp中,数学函数是函数的一种。指专门进行数学运算的函数,一般都在头文件下。头文件定义为#include<math.h> abs( ) int abs(int i); 求整数的绝对值。 cout<<"-53的绝对值是:"<<abs(-53); -53的绝对值是:53 labs( ) long labs(long n); 求长...

Hemx的博客 1万+

Unreal从入门到精通之 UE4 vs UE5 VR性能优化实战

这篇文章分享了UE5 VR项目的性能优化经验。作者通过对比UE4和UE5的VR模板性能,发现UE5默认帧率只有45FPS,远低于UE4的100FPS。主要性能瓶颈来自Lumen全局光照、虚拟阴影贴图等新特性。文章详细列出了12项关键优化设置,包括禁用Lumen、关闭虚拟阴影、使用前向渲染等,并分析了各项调整对性能的影响程度。特别指出删除默认的VolumetricCloud可立即提升5帧。最后建议根据场景需求平衡画质与性能,对于高帧率要求的VR项目,可能需要谨慎使用UE5或关闭其部分高级渲染功能。

TxNet 1380

C++ 常用数学函数详解汇总#include<math.h>

在实际应用开发过程中,经常会用到一些数学计算。本文记录了C++程序开发过程中常用的数学函数,供参考。

Gary_ghw的博客 1万+

从 on_event 到 lifespan:FastAPI 生命周期管理的旧方法与新方法对比与迁移

从 on_event 到 lifespan:FastAPI 生命周期管理的旧方法与新方法对比与迁移

XiaoqiangClub的博客 1021

DSPy 入门: 再见提示,你好编程

DSPy("Declarative Self-improving Language Programs (in Python)",发音为 "dee-es-pie")[1] 是斯坦福大学 NLP 研究人员开发的 "基础模型编程 "框架。它强调编程而非提示,并将构建基于 LM 的管道从操作提示转向编程。因此,它旨在解决构建基于 LM 应用程序时的脆弱性问题。DSPy 还将程序的信息流与每一步的参数(提示和 LM 权重)分离开来,为构建基于 LM 的应用程序提供了更系统的方法。

具身机器人和通用AI 3484

C++中常用的数学函数

C++中常用的数学函数 1. 前言 在日常的刷题中,会经常涉及到数字的运算。C++中提供了较为方便的库函数,可以方便我们快速的解题。 2.库函数 2.1 min 求两个值中最小值的函数。 简单示例 #include&lt;cstdio&gt; #include&lt;iostream&gt; #include&lt;cstring&gt; #include&lt;cmath&gt; using...

说文科技,做有态度的研究。 1610

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

C++ 常用数学函数

一.头文件cmath.h或math.h中包含的常用数学函数,使用时要头文件引用,两者区别: 1.cmath是标准C++里面推荐使用的库。 math是C语言的旧头文件. 2.用后面那个就好 math.h,前面那个如果没有C++对应的库会出错 用后面的一定不会出错. 二.常用的数学函数: 1.开平方 double sqrt(double x); 2.求常数e的x次方 double e...

周杰伦 6369

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

C++中常用的数学函数总结与代码实现

1、round(): 四舍五入 2、floor(): 向下取整 3、ceil(): 向上取整

JunJie的个人博客 1458

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

​​​​​​​C++ 常用数学函数

C++常用数学函数 函数 定义于头文件<cstdlib> abs(int)labsllabs (C++11) 计算整数值的绝对值(|x|) (函数) div(int)ldivlldiv (C++11) 计算整数除法的商和余数 (函数) 定义于头文件<cinttypes> abs(std::intmax_t)imaxabs (C++1...

ixiaoyang的专栏 647

c++一些常用的数学函数

c++中常见的数学函数 一.头文件cmath.h或math.h中包含的常用数学函数,使用时要头文件引用, 两者区别: 1.cmath是标准C++里面推荐使用的库。 math是C语言的旧头文件. 2.用后面那个就好 math.h,前面那个如果没有C++对应的库会出错 用后面的一定不会出错. 二.常用的数学函数: 1.开平方 double sqrt(double x); 2.求常数e的x次方 doub...

冉筱 1130

C++中常用的数学函数总结

我们在C++程序设计的过程中往往会使用到一些数学函数,那么不同的数学运算要用到什么函数哪?大家可以参考我的总结如下: 首先引用到数学函数时一定要记得加函数头文件 #include<cmath>或#include<math.h> int abs(int x); long labs(long x); double fabs(double x); double floor(double x); do

weiyuexin的博客 1601

简要介绍C语言与c++共有的数学函数

简要介绍C语言与c++共有的数学函数

2401_88591507的博客 1168

c++中的数学函数库

hello大家好啊,我是文宇。最近没有什么好的想法了,所以发一篇有关数学的函数库。

文宇的博客 1389

csp信奥赛C++常用的数学函数详解

csp信奥赛C++常用的数学函数详解

王老师青少年编程 692

c++的常用函数

C++库函数大全 C++常用库函数 1、常用数学函数 头文件#include <math>或者#include <math.h> 函数原型 功能 返回值 int abs(int x) 求整数x的绝对值 绝对值 double acos(double x) 计算arcos(x)的值 ...

ltx2020的博客 1万+
上一篇: 考试知识点位运算
下一篇: GESPC++ 三级(由deepseek生成)
IT信息技术学习圈
博客等级 码龄3年 583粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值