C++详细讲解常用math函数的用法

目录
  • 1、fabs(double x)
  • 2、floor(double x)ceil(double x)
  • 3、pow(double x,double n)
  • 4、sqrt(double x)
  • 5、log(double x)
  • 6、sin(double x)cos(double x) tan(double x)
  • 7、round(double x)

包含头文件

#include<cmath>

1、fabs(double x)

对double型变量取绝对值

#include<iostream>
using namespace std;
#include<cmath>
int main()
{
    double d=-3.14;
    printf("%.2f\n",fabs(d));
    return 0;
}

2、floor(double x)ceil(double x)

用于double型变量,返回类型也为double

向下取整:floor

向上取整:ceil

#include<iostream>
using namespace std;
#include<cmath>
int main()
{
    double d1=-3.14;
    double d2=3.14;
    printf("%.0f  %.0f\n",floor(d1),ceil(d1));
    printf("%.0f  %.0f\n",floor(d2),ceil(d2));
    return 0;
}

-4 -3

3 4

3、pow(double x,double n)

返回x的n次方

#include<iostream>
using namespace std;
#include<cmath>
int main()
{
    double d=pow(2.0,3.0);
    printf("%f\n",d);
    return 0;
}

8.000000

4、sqrt(double x)

返回double型变量的算术平方根

#include<iostream>
using namespace std;
#include<cmath>
int main()
{
    double d=sqrt(3.0);
    printf("%f\n",d);
    return 0;
}

5、log(double x)

返回以自然对数e为底的对数

#include<iostream>
using namespace std;
#include<cmath>
int main()
{
    double d=log(exp(1));//exp(1)表示e
    printf("%f\n",d);
    double d1=log10(10.0);
    printf("%f\n",d1);
    double d2=log2(2);
    printf("%f\n",d2);
    double d3=log1p(10);//更精确
    printf("%f\n",d3);
    double d4=log(10);
    printf("%f\n",d4);
    return 0;
}

1.000000

1.000000

1.000000

2.397895

2.302585

6、sin(double x)cos(double x) tan(double x)

参数要求是弧度制

也有对应的反函数

#include<iostream>
using namespace std;
#include<cmath>
const double PI=acos(-1.0);//因为cos(pi)=-1
int main()
{
    double d=sin(PI/4);
    printf("%f\n",d);
    double d1=cos(PI/4);
    printf("%f\n",d1);
    double d2=tan(PI/4);
    printf("%f\n",d2);
    double d3=asin(1);
    printf("%f\n",d3);
    double d4=atan(1);
    printf("%f\n",d4);
    return 0;
}

7、round(double x)

将double型变量四舍五入取整,返回也是double

到此这篇关于C++详细讲解常用math函数的用法的文章就介绍到这了,更多相关C++math函数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • C++中的函数介绍

    (一)函数使用规则 函数的定义不能嵌套但调用可以嵌套 在函数调用时,如某一默认参数要指明一个特定值,则有其之前所有参数都必须赋值 赋默认实参时 一旦某个形参被赋予了默认值,它后面的所有形参都必须有默认值,因为设置默认参数的顺序是自右向左:且注意默认值不可以是局部变量 函数参数的默认值可以是表达式 如果在函数定义时设置了默认参数,则就不能在函数声明时再次设置,反之亦然 函数只有一个 返回值,除void类型函数 函数调用可以出现在执行语句中,也可以出现在表达式中,甚至还可以作为一个函数的实参,但不可

  • C++详细讲解常用math函数的用法

    目录 1.fabs(double x) 2.floor(double x)ceil(double x) 3.pow(double x,double n) 4.sqrt(double x) 5.log(double x) 6.sin(double x)cos(double x) tan(double x) 7.round(double x) 包含头文件 #include<cmath> 1.fabs(double x) 对double型变量取绝对值 #include<iostream>

  • C语言详细讲解常用字符串处理函数

    目录 一.strlen() 1. 函数原型: 2. 手动实现: 二.strcat() 1. 函数原型: 2. 手动实现: 三.strcpy() 1. 函数原型: 2. 手动实现: 四.strcmp() 1. 函数原型: 2. 手动实现: 五.memset() 1. 函数原型: 2. 手动实现: 一.strlen() 1. 函数原型: size_t strlen(const char *str) 参数str: 要计算的字符串的长度返回值: 返回字符串 str 的长度,直到遇到结束字符'\0',但不

  • C++超详细讲解构造函数与析构函数的用法及实现

    目录 写在前面 构造函数和析构函数 语法 作用 代码实现 两大分类方式 三种调用方式 括号法 显示法 隐式转换法 正确调用拷贝构造函数 正常调用 值传递的方式给函数参数传值 值传递方式返回局部对象 构造函数的调用规则 总结 写在前面 上一节解决了类与对象封装的问题,这一节就是对象的初始化和清理的构造函数与析构函数的内容了:对象的初始化和清理也是两个非常重要的安全问题:一个对象或者变量没有初始状态,对其使用后果是未知,同样的使用完一个对象或变量,没有及时清理,也会造成一定的安全问题:c++利用了构

  • Golang详细讲解常用Http库及Gin框架的应用

    目录 1. Http标准库 1.1 http客户端 1.2 自定义请求头 1.3 检查请求重定向 1.4 http服务器性能分析 2. JSON数据处理 2.1 实体序列化 2.2 处理字段为小写下划线 2.3 省略空字段 2.4 反序列化 3. 自然语言处理 3.1 使用Map处理 3.2 定义实体处理 4. http框架 4.1 gin 4.1.1 启动服务 4.1.2 middleware 4.1.3 设置请求ID 1. Http标准库 1.1 http客户端 func main() {

  • Java超详细讲解接口的实现与用法

    目录 1.接口的定义 2.接口的实现 3.接口的引用 4.接口的继承 5.利用接口实现多重继承 1.接口的定义 接口是一种特殊的抽象类,是Java提供的一个重要的功能,与抽象类不同的是: 接口的所有数据成员都是静态的且必须初始化. 接口中的所有方法必须都是抽象方法,不能有一般的方法. [public] interface 接口名称 [extends  父接口名列表]{    [public] [static] [final]数据类型 成员变量名 = 常量;    ...    [public][

  • Java超详细讲解抽象类的原理与用法

    目录 1. 抽象类是什么 2 抽象类的语法 3 抽象类都有什么特性 4 抽象类是干什么的 1. 抽象类是什么 ️给大家上一篇小作文,看完这个,你就理解了什么叫做抽象类 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的, 如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类. ️思考一下抽象类和类在功能上什么区别 因为抽象类是没有足够的信息去描绘一个具体的对象的,所以抽象类也就不能实例化对象 除此之外,抽象类的其它功能都是存在的,成员

  • 详细介绍jQuery.outerWidth() 函数具体用法

    下面我们来通过jQuery实例代码演示outerWidth()函数, outerWidth()函数用于设置或返回当前匹配元素的外宽度.外宽度默认包括元素的内边距(padding).边框(border),但不包括外边距(margin)部分的宽度.你也可以指定参数为true,以包括外边距(margin)部分的宽度.如下图: 如果你要获取其它情况的宽度,请使用width()和innerWidth(),你可以点此查看三者之间的区别.该函数属于jQuery对象(实例),并且对不可见的元素依然有效.语法jQ

  • Oracle to_date()函数的用法介绍

    在Oracle数据库中,Oracle to_date()函数是我们经常使用的函数,下面就为您详细介绍Oracle to_date()函数的用法,希望可以对您有所启迪. to_date()与24小时制表示法及mm分钟的显示: 一.在使用Oracle的to_date函数来做日期转换时,很多Java程序员也许会直接的采用"yyyy-MM-dd HH:mm:ss"的格式作为格式进行转换,但是在Oracle中会引起错误:"ORA 01810 格式代码出现两次". select

  • C语言函数超详细讲解上篇

    目录 前言 1.函数是什么? 2.C语言中函数的分类 2.1 库函数 2.1.1 如何学会使用库函数 2.1.2 自定义函数 3.函数的参数 3.1 实际参数(实参) 3.2 形式参数(形参) 4.函数的调用 4.1 传值调用 4.2 传址调用 4.3 练习 4.3.1 判断一个数是不是素数 4.3.2 判断一年是不是闰年 4.3.3 二分查找 4.3.4 数值自增增加1 5.函数的嵌套调用和链式访问 5.1 嵌套调用 5.2 链式访问 总结 前言 本文主要学习函数的相关内容. 1.函数是什么?

  • C++ boost thread库用法详细讲解

    目录 一.说明 二.boost::thread的几个函数 三.构造 一.说明 boost::thread的六种使用方法总结,本文初步介绍线程的函数.构造.执行的详细解释. 二.boost::thread的几个函数 函数 功能 join() 让主进程等待子线程执行完毕后再继续执行 get_id() 获得线程的 id 号 detach() 标线程就成为了守护线程,驻留后台运行 bool joinable() 是否已经启动,为 join() thread::join()是个简单暴力的方法,主线程等待子

随机推荐