美文网首页
C++中的abs函数

C++中的abs函数

作者: DarkBubble | 来源:发表于2018-08-08 14:14 被阅读65次

C++中的abs函数。在C++中使用abs函数要注意存在两种版本,一种是在stdlib.h中定义的版本,另一个是在cmath头文件中定义的。事实上在stdlib.h文件是C的函数,而cmath中的是C++版本。

根据ISO C/C++的标准规定,C语言的abs函数仅仅支持整数的绝对值计算,必须使用fabs才能获得浮点数的绝对值;C++的abs则可以自然支持对整数和浮点数两个版本(实际上还能够支持复数)。

如果在C++程序中,由于头文件关系,不慎使用了C版本的abs函数,并且输入的是一个有小数的浮点数,那么其行为就可能不符合程序员的预期了,因为在传入函数参数时,浮点数会用截断的方式转换为整数。

例如:

/* source file main.cpp */
#include <iostream>
#include <stdlib.h> // c function abs

int main(int argc, char* argv[])
{
  using namespace std;
  cout << "abs(0.123) = " << abs(0.123) << endl;
  return 0;
}

/* output */
abs(0.123) = 0

C++中建议使用cmath头文件,事实上不止abs函数,还有一系列函数都被特殊处理了。具体可以阅读不同编译器的cmathmath.hstdlib.h文件源代码。

微软的C++编译器在默认的情况下,使用宏对C版本abs函数做了保护处理,通常情况下程序员不容易发现这个问题。

相关文章

  • C++中的abs函数

    C++中的abs函数。在C++中使用abs函数要注意存在两种版本,一种是在stdlib.h中定义的版本,另一个是在...

  • 函数和函数调用

    函数和函数调用: help(函数对象):查看函数帮助文档 abs:函数对象 abs():函数调用 abs():绝对...

  • 数学和三角函数ABS

    ABS 函数 本文介绍 Microsoft Excel 中ABS函数的公式语法和用法。 说明:返回数字的绝对值。 ...

  • python3内置函数

    abs() 函数 描述 abs() 函数返回数字的绝对值。 语法 以下是 abs() 方法的语法: abs( x ...

  • JavaScript 函数

    函数 定义函数 在 JavaScript 中,定义函数方式: function abs (x) { if(x >...

  • 高阶函数

    高阶函数: 变量可以指向函数 abs(-10):这是函数调用 abs这是函数本身,也是对象 >>>abs f这是变...

  • Python学习笔记04-函数

    常用函数 abs是求绝对值函数,可以用help(abs)查看abs函数的帮助信息,其他常用函数如下: 函数名其实就...

  • ABS函数怎么用?

    Excel的ABS函数主要作用是计算数字的绝对值, 本文介绍Microsoft Excel中ABS函数的公式语法和...

  • MySQL语法(数学函数)

    函数 数学函数 1)abs( ) :取绝对值select abs(1.0),abs(-5.3) from dual...

  • 45-python中 __call__

    在Python中,函数其实是一个对象: >>> f = abs >>> f.__name__ 'abs' >>> ...

网友评论

      本文标题:C++中的abs函数

      本文链接:https://www.haomeiwen.com/subject/jcztbftx.html