<math.h>中定义了哪些常量

最近在编写C代码时,需要使用很多数学常数,如圆周率、自然对数等,按习惯都是自己手动定义宏。但是坚信懒惰时人类进步阶梯的我,觉得这样自己定义太麻烦了,尤其是自然对数等这类不常用的常数,还得先使用别的手段获得其值才能定义,于是脑袋里闪出一些歪点子,是不是在标准C头文件中已经有定义了呢。于是研究了一下math.h,还真有收获,总结如下:

在GCC编译器的C标准库中,<math.h>头文件通过预定义宏提供了数学常量,但需注意以下要点:


一、需启用的宏定义

要使用这些常量,需在代码中定义以下宏(或在编译时添加-D_GNU_SOURCE选项):

#define _USE_MATH_DEFINES  // 启用数学常量宏(部分环境需要)
#define __STDC_WANT_IEC_60559_DFP_EXT__  // C23标准扩展支持(可选)

二、常见数学常量列表

宏名称近似值数学意义
M_E2.718281…自然对数的底 (e)
M_LOG2E1.442695…log₂(e)
M_LOG10E0.434294…log₁₀(e)
M_LN20.693147…ln(2)
M_LN102.302585…ln(10)
M_PI3.141592…圆周率 π
M_PI_21.570796…π/2
M_PI_40.785398…π/4
M_1_PI0.318309…1/π
M_2_PI0.636619…2/π
M_2_SQRTPI1.128379…2/√π
M_SQRT21.414213…√2
M_SQRT1_20.707106…1/√2

这些常数,都可以在包含 <math.h>后直接使用。但是遗憾的是,这个头文件中并没有包含光速、万有引力常量等物理常量。

三、使用示例

#include <stdio.h>
#include <math.h>

int main() {
    printf("π ≈ %.5f\n", M_PI);        // 输出: π ≈ 3.14159
    printf("√2 ≈ %.5f\n", M_SQRT2);    // 输出: √2 ≈ 1.41421
    return 0;
}

四、注意事项

  1. 可移植性问题

    • 这些常量是GNU扩展,并非所有编译器(如MSVC)默认支持。
    • 在严格C99/C11模式下,需确认是否启用扩展。
  2. 精度差异
    常量值的精度取决于编译器的浮点实现(如float/double)。

  3. 验证方法
    直接查看系统的<math.h>头文件(通常位于/usr/include/math.h)。


建议通过man math.h或查阅GCC文档获取最新信息。

内容概要:本文介绍了ENVI Deep Learning V1.0的操作教程,重点讲解了如何利用ENVI软件进行深度学习模型的训练与应用,以实现遥感图像中特定目标(如集装箱)的自动提取。教程涵盖了从数据准备、标签图像创建、模型初始化与训练,到执行分类及结果优化的完整流程,并介绍了精度评价与通过ENVI Modeler实现一键化建模的方法。系统基于TensorFlow框架,采用ENVINet5(U-Net变体)架构,支持通过点、线、面ROI或分类图生成标签数据,适用于多/高光谱影像的单一类别特征提取。; 适合人群:具备遥感图像处理基础,熟悉ENVI软件操作,从事地理信息、测绘、环境监测等相关领域的技术人员或研究人员,尤其是希望将深度学习技术应用于遥感目标识别的初学者与实践者。; 使用场景及目标:①在遥感影像中自动识别和提取特定地物目标(如车辆、建筑、道路、集装箱等);②掌握ENVI环境下深度学习模型的训练流程与关键参数设置(如Patch Size、Epochs、Class Weight等);③通过模型调优与结果反馈提升分类精度,实现高效自动化信息提取。; 阅读建议:建议结合实际遥感项目边学边练,重点关注标签数据制作、模型参数配置与结果后处理环节,充分利用ENVI Modeler进行自动化建模与参数优化,同时注意软硬件环境(特别是NVIDIA GPU)的配置要求以保障训练效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客不孤独

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值