Double类型只用8字节存储但范围为什么那么大

ODPS的Double描述:
类型     描述                 取值范围
Double   8字节双精度浮点数。  -1.0E308 ~ 1.0E308

Double用8字节双精度浮点数
1.0E+38
1.0乘以10的308次方,为什么会这么大?64位能表示的最大不应该是2^64吗?

1,因为double类型是浮点数,这种类型可以用科学记数法表示,所以表示范围非常大。
但是,使用可浮点数的代价就是损失了精度。它把这部分精度用于指数的表示。
所以double类型的优点就是数据范围大,缺点是精度不足,大概只有15~16位有效位数。

2,它表示大数的代价就是损失了精度。举个例子:假设我有0-9这10个数,我定义数n表示5n,那么这10个数最大能表示5*9=45。
能表示的范围是:0、5、10、15、20、25、30、35、40、45。最小值为0,最大值为45。所以表示的范围是:0~45。
但1、2、3、4,......,41,42,43,44这些不是5的倍数的数就没法精确表示了,只能在定义中把它们靠向0、5、......、40或者45。
这就是为了扩大表示范围而损失了表示精度。

Oracle NUMBER类型的最大字符个数是38
所以,Oracle NUMBER能表示的最大整数为:a = 99999999999999999999999999999999999999(38个9)
如果转换成DOUBLE,会丢失精度,用DOUBLE存储以后,实际的结果为:b = 1E38 即 10^38 = 100000000000000000000000000000000000000

显然:a ≈ b
但b不是我们期待的值,除非实际应用场景能够认可。

所有Oracle NUMBER不能简单的转为DOUBLE存储,会丢失精度。

Double类型只用8字节存储但范围为什么那么大相关推荐

  1. c语言double类型是几字节,c语言中int long float double 等类型所占字节及输出表示(转)...

    16位编译器 char :1个字节 char*(即指针变量): 2个字节 short int : 2个字节 int: 2个字节 unsigned int : 2个字节 float: 4个字节 doub ...

  2. C语言程序设计double,C语言中double类型数据占字节数为

    1以下选项中,能用作数据常量的是________. A.o115 B.0118 C.115L D.1.5e1.5 2下列叙述中错误的是_______. A.一个C语言程序只能实现一种算法 B.一个C函 ...

  3. C 语言中double类型数据占字节数为,C 语言中 double 类型数据占字节数为_____

    语言中生产成本掩盖了资本主义的剥削,是因为抹杀了 类型使用行车时,应注意: 数据高校实验准入制度要求实验室工作人员必须通过上岗培训并考核合格后方可上岗,下述哪些设备设施的管理人员必须有要相应上岗资质资 ...

  4. 转载——C语言中float,double类型,在内存中的结构(存储方式)

    最近在做一个数据格式分析和转换的项目,第一次接触底层的二进制代码存储,看的一头雾水,看到这个帖子后对于在Windows系统下数据的存储方式有了更多的了解,将原文分享一下: 原文地址为http://ww ...

  5. java中double类型占几个字节_面试官:Java 中有几种基本数据类型是什么?各自占用多少字节?...

    认识基本数据类型 在学习基本数据类型之前,我们先认识一下这两个单词:1.bit --位:位是计算机中存储数据的最小单位,指二进制数中的一个位数,其值为"0"或"1&quo ...

  6. mysql double 存储_关于MYSQL中FLOAT和DOUBLE类型的存储-阿里云开发者社区

    关于MYSQL中FLOAT和DOUBLE类型的存储 重庆八怪 2016-04-12 844浏览量 简介: 关于MYSQL中FLOAT和DOUBLE类型的存储 其实在单精度和双精度浮点类型存储中其存储方 ...

  7. 关于MYSQL中FLOAT和DOUBLE类型的存储

    关于MYSQL中FLOAT和DOUBLE类型的存储 其实在单精度和双精度浮点类型存储中其存储方式和C/C++一致准守IEEE标准他们都是浮点型的,所谓的浮点型,是小数点的位置可变,其能够表示的范围比定 ...

  8. Java入门之7:Java中的float和double类型的浮点数是怎么按照IEEE 754标准存储的?

    前言: 这篇博文,我写了好几天--,里面涉及的基础概念比较多,内容比较多,举例也比较多,想搞清楚明白就难免 我自己都会觉得啰嗦,我整理了目录出来,看完需要一点时间,可以自行根据需要.感兴趣的 选择阅读 ...

  9. java中double类型占几个字节_java中各种数据类型占用字节数

    1字节(Byte)=8bit java的基本类型 类型 所占字节 byte 1 short 2 int 4 long 8 float 4 double 8 char 2 String中字母和汉字所占字 ...

最新文章

  1. VR技术怎么落地,行业应用怎么挖掘,来江苏虚拟现实发展大会侃侃
  2. python json.loads()中文问题-python处理json数据中的中文
  3. Redis入门第二篇【存储数据结构之string类型】
  4. 网站计数器 php,网站计数器 php
  5. spi 外设驱动(spi_driver)
  6. pyspark 修改python版本_python – Pyspark从日期到字符串更改列的类型
  7. mysql从库数据源_SoapUI Pro教程:如何使用MySQL服务器作为数据源-从MySQL数据库获取数据...
  8. linux syslog 3
  9. Python 学习笔记(五)杂项
  10. java 有哪些框架_Java常用框架有哪些?这些框架有什么用?
  11. windows 10 宽带拨号时无法开启热点,解决热点开启问题
  12. 相关性分析和热图绘制
  13. Long与Integer之间的转换产生的问题
  14. 试题 C: 数列求值
  15. 输入电压=24V 输出电压=8V 1.5A TO-252-5 DCDC芯片推荐
  16. 一款功能强大且专业好用的CAD图形创建工——corelcad 2021
  17. FT24C32A介绍
  18. 亚马逊AWS:云计算目前仍然是蓝海市场
  19. 开源的python有限元软件_python有限元
  20. 开发要不要做测试,怎么做?

热门文章

  1. iteritems python3_Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决...
  2. linux 主机访问主机命令,linux查看主机名命令
  3. 学习【线性代数】线性方程组---消元法的心得体会
  4. 计算机中常用的矢量图形文件,第3章 电脑图像基础知识.ppt
  5. Linux系统工程师--(4)网络文件系统
  6. 微信开发调试小工具进化→微信用户发送信息模拟器发布!——这标题起真是好数码暴龙的说...
  7. 中职计算机专业课教师难考吗,中专教师入职一个多月,谈谈自己的感受
  8. 使用Keras训练历史可视化(含踩雷)
  9. 冒泡和快速排序的时间复杂度_十大经典排序算法——快速排序
  10. 关于反向传播算法的理解