对于C 11中的所有算术类型,std :: abs()函数都很好地定义,并返回| x |没有近似的问题?

一个奇怪的是,使用g 4.7,std :: abs(char),std :: abs(short int),std :: abs(int),std :: abs(long int)和std :: abs int)似乎返回一个双重(相反:http://en.cppreference.com/w/cpp/numeric/math/abs)。如果这个数字是双倍的,我们可能会有非常大的数字的近似误差(如-9223372036854775806LL = 2 ^ 63-3)。

所以我有保证std :: abs(x)将始终返回| x |对于所有算术类型?

编辑:这里是一个示例程序进行一些测试

#include

#include

#include

#include

template

void abstest(T x)

{

static const unsigned int width = 16;

const T val = x;

if (sizeof(val) == 1) {

std::cout<<:setw>(val)<

std::cout<<:setw>(std::abs(val))<

} else {

std::cout<<:setw>

std::cout<<:setw>(std::abs(val))<

}

std::cout<<:setw>

std::cout<<:setw>

std::cout<<:setw>

std::cout<<:setw>

}

int main()

{

double ref = -100000000000;

abstest(ref);

abstest(ref);

abstest(ref);

abstest(ref);

abstest(ref);

abstest(ref);

abstest(ref);

abstest(ref);

abstest(ref);

abstest(ref);

abstest(ref);

abstest(ref);

abstest(ref);

abstest(ref);

abstest(ref);

abstest(ref);

abstest(ref);

abstest(ref);

return 0;

}

abs函数c语言std,c++ 在std :: abs函数上相关推荐

  1. c语言常用数学函数大全查询,C语言数学函数 C语言中全部可用的数学函数有哪些?...

    导航:网站首页 > C语言数学函数 C语言中全部可用的数学函数有哪些? C语言数学函数 C语言中全部可用的数学函数有哪些? 相关问题: 匿名网友: /*--------------------- ...

  2. c语言何编写自定义函数,C语言菜鸟基础教程之自定义函数

    C语言菜鸟基础教程之自定义函数 先动手编写程序: #include int add(int x, int y) { int z = x + y; return z; } int main() { in ...

  3. c语言中removeDir的相反函数,C语言编程常见问题解答之常用函数的包括文件.doc

    C语言编程常见问题解答之常用函数的包括文件 C语言编程常见问题解答之常用函数的包含文件(1) 作者:unknown 更新时间: 2005-05-10 函数 包含 类别 功能 _atold math.h ...

  4. c 语言绘图函数,c语言图形编程(三、绘图函数-)(C language graphics programming (three, drawing function -)).doc...

    c语言图形编程(三.绘图函数-)(C language graphics programming (three, drawing function -)).doc c语言图形编程(三.绘图函数-01) ...

  5. R语言中dim函数_R语言--向量化计算(apply族函数)

    R语言最优秀的是它的向量化编程,这其中apply族函数扮演了非常重要的角色.apply族函数是由apply.sapply.lapply.mapply.tapply等函数组成的.熟练使用apply族函数 ...

  6. c语言校验mac函数,C语言验证MAC地址字符串合法性函数

    C语言验证MAC地址字符串合法性函数 2019-01-06 C语言验证MAC地址字符串合法性函数,使用示例: char *mac_addr = "00:1d:08:c3:8a:00" ...

  7. 数字转字符函数_C语言常用的几个工具函数

    1.字符串转十六进制 代码实现: void StrToHex(char *pbDest, char *pbSrc, int nLen){ char h1,h2; char s1,s2; int i;f ...

  8. sprintf函数_C语言源代码展示:常用转换函数实现原理

    编程时经常用到进制转换.字符转换.比如软件界面输入的数字字符串,如何将字符串处理成数字呢?和大家分享一下. 01 字符串转十六进制 代码实现: void StrToHex(char *pbDest, ...

  9. c语言实现新建目录函数,C语言中改变目录的相关操作函数详解

    C语言fchdir()函数:改变当前工作目录头文件: #include 定义函数: int fchdir(int fd); 函数说明:fchdir()用来将当前的工作目录改变成以参数fd 所指的文件描 ...

  10. 整数阶贝塞尔函数c语言,第二类整数阶贝塞尔函数(诺伊曼函数)

    #include "stdio.h" #include "math.h" /****************************************** ...

最新文章

  1. Tensorflow【实战Google深度学习框架】全连接神经网络以及可视化
  2. 移动端通过ajax上传图片(文件)并在前台展示——通过H5的FormData对象
  3. Java学完可以应用在什么领域?这8大领域你要知道
  4. MySQL 过滤重复数据
  5. MYSQL执行计划EXPLAIN
  6. 刷屏!黄晓明杨颖官宣离婚,两人已无商业关联
  7. 违反学校防疫规定,这所211高校两研究生被通报批评!
  8. Linux的基本权限和特殊权限
  9. [LeetCode][easy]Reformat The String
  10. getch()函数的使用方法及其返回值问题
  11. 针对初学者的 MQL 5 中的自定义指标
  12. editorMd插件的使用总结(包括开启图片上传及拖拉粘贴上传图片)
  13. SEO-老域名的选择
  14. 看呐!一群方言在舌尖跳舞
  15. 大数据开发方向分享:春招获蚂蚁金服、拼多多、华为(终端)、远景能源、华泰证券等offer
  16. Bootstrap-用ICheck插件给CheckBox换新装
  17. Hibernate对象状态
  18. kubectl describe命令详解
  19. 坯子库无法一键安装插件没用_坯子库插件集下载-坯子插件库下载v2020.1 官方最新版-西西软件下载...
  20. [洛谷]P1914小书童——凯撒密码

热门文章

  1. Linux C编程 —— 通过文件描述符获得文件路径
  2. 超级马里奥代码_任天堂源代码泄露,引出超级马里奥64隐藏24年的角色
  3. Java打印一个正三角形
  4. 详述支付网关的设计原则
  5. 高等代数第3版下 [丘维声 著] 2015年版_3折购书优惠码限时抢(人工智能类)
  6. 使用python lxml库中的xpath、etree爬取网页超链接
  7. uniapp全端应用商城系统,应用市场APP,软件库APP,葫芦芥子博客
  8. 常用数据库URL地址的写法
  9. 计算机的硬盘如何查看,怎样查看电脑硬盘信息 电脑中的硬盘信息
  10. 在我们人生的大道上,肯定会遇到许许多多的困难。但我们是不是都知道,在前进的道路上,搬开别人脚下的绊脚石,有时恰恰是为自己铺路?