问题

  昨天遇到的一个BUG,服务器程序中间的一个数值变成了0.000000,之前都是正常的;

跟踪排查

  增加日志后发现,使用的abs函数,处理了一个浮点型的数值,走了整型的abs,直接将浮点数转换成了整型;
  使用fabs后,程序可以正常运行,具体为什么没有找到原因。
  服务器上gcc和g++的环境没有变,之前运行都没有问题。

网上资料

  1.abs在C语言中只处理整型,使用math.h文件;fabs处理浮点型数值;
  2.abs在C++语言中可以支持浮点型的数值。在<stdlib.h>中追加了abs函数的重载;
  3.如果在C++程序中,由于头文件关系,不慎使用了C版本的abs函数,并且输入的是一个有小数的浮点数,那么其行为就可能不符合程序员的预期了,因为在传入函数参数时,浮点数会用截断的方式转换为整数。
  4.在某些编译器环境下,在不使用**using space std;**的情况下,std::abs() 和 abs()的行为有可能不同。std::abs()包括std::abs(int), std::abs(float), std::abs(long long)等,而abs()有可能只有abs(int)一种形式,导致abs(float)返回的值永远为0。
  5.使用abs时使用std::abs可以解决这种情况;
![在这里插入图片描述](https://img-blog.csdnimg.cn/7e2d37189f37499c9cf2be83f5a3a377.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6buR6ICB5aaW,size_20,color_FFFFFF,t_70 =500x,g_se,x_16)

查BUG笔记-abs函数和fabs函数相关推荐

  1. 求绝对值函数 —— abs() 函数,fabs() 函数及其头文件

    1.abs函数(推荐使用stdlib.h,C++可用cmath)的原型是: int abs(int x); 求x的绝对值,传入值x的类型是int型,返回值类型也是int型. 2.fabs(推荐使用ma ...

  2. python绝对值函数fabs_Python fabs() 函数

    Python fabs() 函数 描述 fabs() 方法返回数字的绝对值,如math.fabs(-10) 返回10.0. 语法 以下是 fabs() 方法的语法:import math math.f ...

  3. C语言中abs()函数和fabs()函数以及fabsf()函数的区别

    int abs(int i);    //处理int类型的取绝对值 double fabs(double i);         //处理double类型的取绝对值 float fabsf(float ...

  4. 查BUG笔记-error:there are no arguments to ‘XXX‘ that depend on a template parameter,so a declaration of

    问题 error:there are no arguments to 'XXX' that depend on a template parameter,so a declaration of 'XX ...

  5. python fabs() 函数

    Python fabs() 函数 描述 fabs() 函数返回数字的绝对值,如 math.fabs(-5) 返回 5.0. 与 abs() 函数不同的是, fabs() 函数返回的是浮点型的值. 语法 ...

  6. python绝对值函数fabs_Python中abs()和math.fabs()区别

    描述:Python中fabs(x)方法返回x的绝对值.虽然类似于abs()函数,但是两个函数之间存在以下差异: abs()是一个内置函数,而fabs()在math模块中定义的. fabs()函数只适用 ...

  7. fabs函数, abs函数,labs函数

    fabs函数 //该函数的功能是返回浮点数的绝对值 double fabs(double x);double fFloatRsult; // 定义实型变量 double fNumble=-1234.0 ...

  8. mysqlsum绝对值_MySQL_MySQL笔记之数学函数详解,绝对值函数ABS(x)和圆周率函数P - phpStudy...

    MySQL笔记之数学函数详解 绝对值函数ABS(x)和圆周率函数PI() mysql> SELECT ABS(0.5), ABS(-0.5), PI(); +----------+------- ...

  9. 【theano-windows】学习笔记二——theano中的函数和共享参数

    前言 上一篇博客中学到了theano中的变量类型,也就是dscalar.dvector之类的, 然后还有一个theano.function和eval函数, 将我们所定义的操作转换成theano可执行的 ...

最新文章

  1. openresty获取nginx body内容体
  2. 如何基于DataWorks构建数据中台?
  3. (1) freemarker入门实例
  4. 基于python的request库,模拟登录csdn博客
  5. Timus 1114. Boxes
  6. linux bc命令全称,Linux bc 命令
  7. RabbitMq topic
  8. 【转载】如何扎实的学好ABAP?我的个人经验
  9. 作为刚開始学习的人应该怎样来学习FPGA
  10. 路由器Lan、Wan短接问题
  11. 人脸检测(四)--CART原理及实现
  12. js判断IE浏览器的方法
  13. 计算机无法卸载软件,电脑安装的软件无法卸载怎么办?
  14. VUE 分享给好友及朋友圈
  15. 通过JS检测360浏览器
  16. 图解 Cisco IOS 命名规范
  17. 世界最著名八大发动机结构!
  18. 2020/5/4/ 每日一咕
  19. 云服务器系统esxi,云服务器安装esxi
  20. linux用mkefs不能进行格式化,磁盘格式化命令 mkfs

热门文章

  1. xmind和axure的区别
  2. PHP中如何获取radio的值,Jquery如何获取radio选中值的示例详解
  3. mim install mmdetection不成功的解决办法
  4. VSCode设置自定义图片作为背景
  5. 2022-2027年中国微型传动系统行业发展监测及投资战略研究报告
  6. 洗礼(BAPTISM)
  7. Unity Lighting设置
  8. 电子计算机课文五年级上册,新型玻璃(人教版语文五年级上册课文)_百度百科...
  9. js window.print() 打印图片,图片有时候不显示
  10. Typescript | 给window对象添加全局变量