首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C++中long double的精度是多少?

在C++中,long double的精度取决于具体的实现和平台。通常情况下,它的精度可以达到18-19位有效数字。但是,请注意,这个精度可能会因编译器和平台的不同而有所不同。

在腾讯云中,我们提供了一系列的计算产品,包括云服务器、云数据库、容器服务、批量计算等,可以满足您不同的计算需求。以下是一些推荐的腾讯云产品和产品介绍链接地址:

请注意,这些产品可能会随着时间的推移而发生变化,建议您在使用前查看官方文档以获取最新的信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

javadouble类型操作精度丢失

在用到double类型数据加减运算时,遇到了一个奇怪问题,比如1+20.2+300.03,理论上结果应该是321.23,其实结果并不是这样。...在使用Javadouble 进行运算时,经常出现精度丢失问题,总是在一个正确结果左右偏0.0000**1。...float和double只能用来做科学计算或者是工程计算,在商业计算我们要用 java.math.BigDecimal。...另外需要注意,使用BigDecimal(double val)构造函数时仍会存在精度丢失问题,建议使用BigDecimal(String val)。...这就需要先把double转换为字符串然后在作为BigDecimal(String val)构造函数参数。转换为BigDecimal对象之后再进行加减乘除操作,这样精度就不会出现问题了。

1.5K10

EasyC++05,C++long long和__int64

这是EasyC++系列第五篇,聊聊C++long long和__int64。...long long 和 __int64 在C++ Primer当中提到64位int只有long long,但是在实际各种各样C++编译器当中,64位int一直有两种标准。...很多同学使用第一个C++编译器就是VC6.0,所以记得在VC6.0当中要使用__int64而非long long。 既然VC6.0搞出了__int64,那么微软后续C++版本显然就必须要兼容它。...所以在win系统当中,这个__int64变量类型就一直沿用了下来。当然,由于C++标准更新,当然最新visual studio已经支持long long了。...非C++ 无法编译 无法编译 long long printint64() 正确 正确 正确 正确 无法编译 参考资料:博客:C/C++64位整型

63510

doublelong引发一次线上故障

问题背景 问题:部分客户订单页面展示异常问题 原因:double类型转成long类型,精度损失导致线上故障。...为什么精度会丢失: double类型占用64位 1bit(符号位) 11bit(指数位) 52bit(尾数位) 科学计数法:拿十进制举例子:1.23x109次方:1.23就是尾数,9就是指数 所以double...类型表示范围是比long类型要大,但是,由于浮点数是基于科学计数法,因此它们不能精确地表示某些值,例如非常大或非常小数字。...建议: 禁止直接将double类型转成long类型,对于一些高精度计算推荐使用BigDecimal BigDecimal是Java中提供一种高精度数字类型,它可以表示任意精度十进制数值,计算过程不会有精度损失...由于BigDecimal类型提供了高精度数字计算功能,因此通常用于需要精确计算金融应用程序、科学计算和工程计算等领域。

1.1K91

java float double精度为什么会丢失?浅谈java浮点数精度问题

由于对float或double 使用不当,可能会出现精度丢失问题。问题大概情况可以通过如下代码理解: ?...IEEE 754 定义了32 位和 64 位双精度两种浮点二进制小数标准。 IEEE 754 用科学记数法以底数为 2 小数来表示浮点数。...对于64 位双精度浮点数,用 1 位表示数字符号,用 11 位表示指数,52 位表示尾数。如下两个图来表示: float(32位): ? double(64位): ?...总结: 浮点运算很少是精确,只要是超过精度能表示范围就会产生误差。往往产生误差不是 因为数大小,而是因为数精度。因此,产生结果接近但不等于想要结果。...尤其在使用 float 和 double 作精确运 算时候要特别小心。 可以考虑采用一些替代方案来实现。如通过 String 结合 BigDecimal 或 者通过使用 long 类型来转换。

2.3K10

java float double精度为什么会丢失?浅谈java浮点数精度问题

由于对float或double 使用不当,可能会出现精度丢失问题。问题大概情况可以通过如下代码理解: ?...IEEE 754 定义了32 位和 64 位双精度两种浮点二进制小数标准。 IEEE 754 用科学记数法以底数为 2 小数来表示浮点数。...对于64 位双精度浮点数,用 1 位表示数字符号,用 11 位表示指数,52 位表示尾数。如下两个图来表示: float(32位): ? double(64位): ?...总结: 浮点运算很少是精确,只要是超过精度能表示范围就会产生误差。往往产生误差不是 因为数大小,而是因为数精度。因此,产生结果接近但不等于想要结果。...尤其在使用 float 和 double 作精确运 算时候要特别小心。 可以考虑采用一些替代方案来实现。如通过 String 结合 BigDecimal 或 者通过使用 long 类型来转换。

2.1K00

java float double精度为什么会丢失?浅谈java浮点数精度问题

由于对float或double 使用不当,可能会出现精度丢失问题。问题大概情况可以通过如下代码理解: ?...IEEE 754 定义了32 位和 64 位双精度两种浮点二进制小数标准。 IEEE 754 用科学记数法以底数为 2 小数来表示浮点数。...对于64 位双精度浮点数,用 1 位表示数字符号,用 11 位表示指数,52 位表示尾数。如下两个图来表示: float(32位): ? double(64位): ?...总结: 浮点运算很少是精确,只要是超过精度能表示范围就会产生误差。往往产生误差不是 因为数大小,而是因为数精度。因此,产生结果接近但不等于想要结果。...尤其在使用 float 和 double 作精确运 算时候要特别小心。 可以考虑采用一些替代方案来实现。如通过 String 结合 BigDecimal 或 者通过使用 long 类型来转换。

1.4K20

一篇文章讲明白double、float丢失精度问题

图片 4.转换成对应精度数值 float精度为7~8位有效数字,7位肯定能保证,8位值也存在。...double精度为16~17位有效数字 所以 二进制展示 1.1+0.1 = 1.0011001100110011001100110011001100110011001100110100 十进制展示...1.1+0.1 = 1.2000000000000002 5.解决方案 针对浮点数丢失精度问题,我们可以通过BigDecimal来解决 new BigDecimal(double val) 该方法是不可预测...不会,原因在于,0.1无法用有限长度二进制数表示,无法精确地表示为双精度数,最后结果会是0.100000xxx。...总结:将double转为BigDecimal时候,需要先把double转换为字符串,然后再作为BigDecimal(String val)构造函数参数,这样才能避免出现精度问题。

59030
领券