C++20中头文件numbers的使用

devtools/2024/10/17 20:34:08/

      <numbers>是C++20中新增加的头文件,提供一组常量用于表示数学中的某些特殊值,此头文件是numeric库的一部分。包括:

      1. 圆周率π:std::numbers::pi、std::numbers::pi_v<T>

      2. 圆周率π的倒数:numbers::inv_pi、std::numbers::inv_pi_v<T>

      3. 自然常数e:std::numbers::e、std::numbers::e_v<T>

      4. 以2为底自然常数e的对数:std::numbers::log2e、std::numbers::log2e_v<T>

      5. 以自然常数e为底的2的对数:std::numbers::ln2、std::numbers::ln2_v<T>

      6. 以10为底自然常数e的对数:std::numbers::log10e、std::numbers::log10e_v<T>

      7. 以自然常数e为底的10的对数:std::numbers::ln10、std::numbers::ln10_v<T>

      8. 2的平方根:std::numbers::sqrt2、std::numbers::sqrt2_v<T>

      9. 3的平方根:std::numbers::sqrt3、std::numbers::sqrt3_v<T>

      10. 3的平方根的倒数:std::numbers::inv_sqrt3、std::numbers::inv_sqrt3_v<T>

      注:

      1.不带_v的默认为double类型

      2.T可为float、double、long double

int test_numbers()
{std::cout << "pi: " << std::numbers::pi <<"," << std::numbers::pi_v<float> << std::endl; // pi: 3.14159,3.14159std::cout << "inv_pi: " << std::numbers::inv_pi << "," << std::numbers::inv_pi_v<float> << std::endl; // inv_pi: 0.31831,0.31831std::cout << "e: " << std::numbers::e << "," << std::numbers::e_v<double> << std::endl; // e: 2.71828,2.71828std::cout << "log2e: " << std::numbers::log2e << "," << std::numbers::log2e_v<long double> << std::endl; // log2e: 1.4427,1.4427std::cout << "ln2: " << std::numbers::ln2 << "," << std::numbers::ln2_v<float> << std::endl; // ln2: 0.693147,0.693147std::cout << "log10e: " << std::numbers::log10e << "," << std::numbers::log10e_v<float> << std::endl; // log10e: 0.434294,0.434294std::cout << "ln10: " << std::numbers::ln10 << "," << std::numbers::ln10_v<float> << std::endl; // ln10: 2.30259,2.30259std::cout << "sqrt2: " << std::numbers::sqrt2 << "," << std::numbers::sqrt2_v<float> << std::endl; // sqrt2: 1.41421,1.41421std::cout << "sqrt3: " << std::numbers::sqrt3 << "," << std::numbers::sqrt3_v<float> << std::endl; // sqrt3: 1.73205,1.73205std::cout << "inv_sqrt3: " << std::numbers::inv_sqrt3 << "," << std::numbers::inv_sqrt3_v<float> << std::endl; // inv_sqrt3: 0.57735,0.57735return 0;
}

      执行结果如下图所示:

      GitHub:https://github.com/fengbingchun/Messy_Test


http://www.ppmy.cn/devtools/125179.html

相关文章

nms_cuda详解

此篇为PyTorch 自定义算子&#xff1a;复现CPU和CUDA版的二维卷积的代码详解 这篇是为了展示setup在构建简单的cpp算子的使用 1.环境配置 整体结构如下图所示,架构和之前一样 2.nms.cpp nms的思路还是很简单的&#xff0c;和之前python的版本一致 python版本 #include "…

深度融合 AR 与 AI 、从 Web2 到 Web3,V3X 定义下一代智能眼镜

01 奇点尚未到来的智能眼镜市场 相对于智能手机、智能手表等设备&#xff0c;智能眼镜很显然是一个更为小众的市场。根据 IDC 数据显示&#xff0c;2023 年全球 AR 眼镜销量为 48 万台&#xff0c;智能眼镜销量为 101 万台。 智能眼镜本身并不是新风口&#xff0c;该赛道最早可…

蓝桥杯刷题--幸运数字

幸运数字 题目: 解析: 我们由题目可以知道,某个进制的哈沙德数就是该数和各个位的和取整为0.然后一个幸运数字就是满足所有进制的哈沙德数之和.然后具体就是分为以下几个步骤 1. 我们先写一个方法,里面主要是用来判断,这个数在该进制下是否是哈沙德数 2. 我们在main方法里面调用…

Ubuntu安装 MySQL【亲测有效】

在Ubuntu上安装MySQL数据库的步骤通常包括更新软件包列表、安装MySQL服务器、启动并配置MySQL服务等。以下是一个详细的安装指南&#xff1a; 一、更新软件包列表 首先&#xff0c;打开终端并输入以下命令来更新Ubuntu的软件包列表&#xff1a; sudo apt update二、安装MySQ…

大健康零售电商的智囊团:知识中台的应用与影响

在数字化浪潮席卷各行各业的今天&#xff0c;大健康零售电商行业也在积极探索转型升级的新路径。知识中台&#xff0c;作为一种集知识管理、数据挖掘与智能化应用于一体的新型技术架构&#xff0c;正逐渐成为推动这一转型的关键力量。本文将深入探讨知识中台在大健康零售电商中…

CW32L010安全低功耗MCU,树立M0+产品行业新标杆!

2024年9月26日&#xff0c;武汉芯源半导体CW32L010系列产品正式官方发布。这款产品以其卓越的产品性能&#xff0c;迅速在业界引起了广泛关注&#xff0c;并成功树立M0产品行业的新标杆。 CW32L010系列产品是基于 eFlash 的单芯片低功耗微控制器&#xff0c;集成了主频高达 48M…

Nginx UI 一个可以管理Nginx的图形化界面工具

Nginx UI 是一个基于 Web 的图形界面管理工具&#xff0c;支持对 Nginx 的各项配置和状态进行直观的操作和监控。 Nginx UI 的功能非常丰富&#xff1a; 在线查看服务器 CPU、内存、系统负载、磁盘使用率等指标 在线 ChatGPT 助理 一键申请和自动续签 Let’s encrypt 证书 在…

260. 只出现一次的数字 III

260. 只出现一次的数字 III 题目含义&#xff1a;有一个整数数组 nums&#xff0c;其中恰好有两个元素只出现一次&#xff0c;其余所有元素均出现两次&#xff0c;我们需要返回只出现一次的两个元素。 根据部分元素出现两次的情况&#xff0c;我们可以用异或运算 ⊕ \oplus ⊕…