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

【C++】数字cmath库常用函数

菜鸟传送门:https://www.runoob.com/cplusplus/cpp-numbers.html

作者废话:作为一个从业3年的JS人,现在重拾C++,虽然众多语言都有很多相似之处(至少算法,数学运算,数据结构等等那些都是相同的),但我仍然认为数字这块是值得仔细去看的。毕竟JS作为一个无类型的语言,在内存管理极为严格的C++面前,二者的差距是比较大的。
在这里,顺便推荐一个安卓软件:C4droid。是本人目前用过的最好用的适合初学者/刷题使用的移动端编程软件。这样就可以随时随地刷题了(bushi

C++ 定义数字

#include <iostream>
using namespace std;int main()
{// 数字定义short s;int i;long l;float f;double d;// 数字赋值s = 10;i = 1000;l = 1000000;f = 230.47;d = 30949.374;// 数字输出cout << "short  s :" << s << endl;cout << "int    i :" << i << endl;cout << "long   l :" << l << endl;cout << "float  f :" << f << endl;cout << "double d :" << d << endl;return 0;
}

运行结果:
在这里插入图片描述

C++ 数学运算

C++的标准库中也提供了很多丰富的数学运算函数,注意我们在定义变量的时候不能和这些函数重名(有些时候不是很方便,不是么,但这就是C++)。
要使用这些函数,您需要引用数学头文件 <cmath>

#include <cmath>
函数描述
double cos(double);该函数返回弧度角(double 型)的余弦。
double sin(double);该函数返回弧度角(double 型)的正弦。
double tan(double);该函数返回弧度角(double 型)的正切。
double log(double);该函数返回参数的自然对数。
double pow(double, double);假设第一个参数为 x,第二个参数为 y,则该函数返回 x 的 y 次方。
double hypot(double, double);该函数返回两个参数的平方总和的平方根,也就是说,参数为一个直角三角形的两个直角边,函数会返回斜边的长度。
double sqrt(double);该函数返回参数的平方根。
int abs(int);该函数返回整数的绝对值。
double fabs(double);该函数返回任意一个浮点数的绝对值。
double floor(double);该函数返回一个小于或等于传入参数的最大整数。

在我们上面的代码里添加数学运算的部分

#include <iostream>
#include <cmath>
using namespace std;int main()
{// 数字定义short s;int i;long l;float f;double d;// 数字赋值s = 10;i = 1000;l = 1000000;f = 230.47;d = 30949.374;// 数字输出cout << "数字输出" << endl;cout << "short  s :" << s << endl;cout << "int    i :" << i << endl;cout << "long   l :" << l << endl;cout << "float  f :" << f << endl;cout << "double d :" << d << endl;// 数学运算cout << "数学运算" << endl;cout << "sin(d) :" << sin(d) << endl;cout << "abs(i)  :" << abs(i) << endl;cout << "floor(d) :" << floor(d) << endl;cout << "sqrt(f) :" << sqrt(f) << endl;cout << "pow( d, 2) :" << pow(d, 2) << endl;return 0;
}

运行结果
在这里插入图片描述

C++ 随机数

#include <iostream>
#include <ctime>
#include <cstdlib>using namespace std;int main ()
{int i,j;// 设置种子srand( (unsigned)time( NULL ) );/* 生成 10 个随机数 */for( i = 0; i < 10; i++ ){// 生成实际的随机数j= rand();cout <<"随机数: " << j << endl;}return 0;
}

运行结果

随机数: 1748144778
随机数: 630873888
随机数: 2134540646
随机数: 219404170
随机数: 902129458
随机数: 920445370
随机数: 1319072661
随机数: 257938873
随机数: 1256201101
随机数: 580322989

C++ 数学常数

#include <iostream>
#include <cmath>
#include <numbers>int main() {// πstd::cout << "pi: " << std::numbers::pi << std::endl;// 自然对数的底数 e (Euler's Number)std::cout << "e: " << std::numbers::e << std::endl;// 黄金比例 φ (Golden Ratio)std::cout << "phi: " << std::numbers::phi << std::endl;return 0;
}

运行结果

pi: 3.14159
e: 2.71828
phi: 1.61803

C++ 标准库

完整版菜鸟传送门:https://www.runoob.com/cplusplus/cpp-libs-cmath.html
这里我只列出几个常用的

函数功能示例
abs(x)计算整数 x 的绝对值abs(-5) // 5
exp(x)计算 e^x,e 为自然对数的底数exp(1) // 2.71828…
log(x)计算 x 的自然对数log(2.71828) // 1
log10(x)计算 x 的以 10 为底的对数log10(100) // 2
pow(x, y)计算 x 的 y 次方pow(2, 3) // 8
sqrt(x)计算 x 的平方根sqrt(16) // 4
sin(x)计算 x 的正弦值,x 以弧度为单位sin(3.14159 / 2) // 1
cos(x)计算 x 的余弦值,x 以弧度为单位cos(3.14159) // -1
tan(x)计算 x 的正切值,x 以弧度为单位tan(0) // 0
ceil(x)返回不小于 x 的最小整数ceil(2.3) // 3
floor(x)返回不大于 x 的最大整数floor(2.3) // 2

运行一下,注意这里需要引入cmath

	// cmath库常用函数cout << "cmath库常用函数" << endl;cout << "abs(-10)=" << abs(-10) << endl;cout << "exp(1)=" << exp(1) << endl;cout << "log(10)=" << log(10) << endl;cout << "log10(1000)=" << log10(1000) << endl;cout << "pow(10,2)=" << pow(10,2) << endl;cout << "floor(10.23)=" << floor(10.23) << endl;cout << "ceil(-10.23)=" << ceil(-10.23) << endl;

运行结果
在这里插入图片描述

http://www.dtcms.com/a/300867.html

相关文章:

  • 基于深度学习的图像分类:使用ShuffleNet实现高效分类
  • LeetCode 1577.数的平方等于两数乘积的方法数
  • day061-全网监控
  • 【科研绘图系列】R语言绘制边际云雨图散点图
  • 【unitrix】 6.17 基本非负整数( BaseUnsigned )特质(base_unsigned.rs)
  • 【笔记】拉乌尔定律推导
  • 获取电脑主板的 通用唯一标识符(UUID)
  • C++学习(线程相关)
  • Git+宝塔面板部署Hugo博客
  • 【橘子分布式】gRPC(番外篇-客户端重试机制)
  • 五自由度磁悬浮轴承转子不平衡振动破壁战:全息前馈控制实战密码
  • 【DataWhale】快乐学习大模型 | 202507,Task08笔记
  • STM32移植LVGL9.2.1教程
  • 视频转GIF工具,一键批量制作高清动图
  • CLAP文本-音频基础模型: LEARNING AUDIO CONCEPTS FROM NATURAL LANGUAGE SUPERVISION
  • 设计模式(四)创建型:生成器模式详解
  • 设计模式(三)创建型:抽象工厂模式详解
  • 第五章第二节 对射式红外传感器计次旋转编码器计次
  • 8.c语言指针
  • 标签驱动的可信金融大模型训练全流程-Agentar-Fin-R1工程思路浅尝
  • AI驱动的金融推理:Fin-R1模型如何重塑行业决策逻辑
  • JSON格式化与结构对比
  • 2025年量子计算与前沿技术融合:六大变革性方向深度解析
  • Rust实战:高效开发技巧
  • 02人工智能中优雅草商业实战项目视频字幕翻译以及声音转译之以三方AI模型API制作方式预算-卓伊凡|莉莉
  • 【在Unity游戏开发中Dictionary、List介绍】
  • 基于Springboot+UniApp+Ai实现模拟面试小工具七:前端项目创建及框架搭建
  • 深入理解 Spring 中的 XmlBeanFactory 原理及实践
  • 【最新版】防伪溯源一体化管理系统+uniapp前端+搭建教程
  • ArKTS:List 数组