跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
MediaWiki帮助
GSXAB的知识库
搜索
搜索
外观
登录
个人工具
登录
Advertising:
查看“︁双精度浮点数”︁的源代码
页面
讨论
简体中文
阅读
查看源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
查看源代码
查看历史
刷新
常规
链入页面
相关更改
特殊页面
页面信息
外观
移至侧栏
隐藏
←
双精度浮点数
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[分类:数据类型]] {{InfoBox |name=双精度浮点数 |eng_name=double-precision floating-point type |aliases=double-precision floating-point format,双精度浮点型,双精浮点,double,float64,FP64,binary64,64位浮点数,64-bit floating-point format }} '''双精度浮点数'''/'''双精度浮点型'''('''double-precision floating-point number''')是[[浮点型]]中长 64 [[二进制位]]的[[数据类型]],符合 [[IEEE 754]] 中 binary64 类型的格式(IEEE 754-1985 旧称 double)。根据长度,称为 float64 或 binary64 ,有时也称 double 。是通用计算中最常用的浮点类型之一。 双精度浮点数在科学计算、计算机图形学、嵌入式系统中广泛应用,传统上一般用在[[单精度浮点数]]精度不足的场景下,现在一般对这一点性能差别要求不高,在大部分情况下可以直接使用。精度高于单精度类型,代价是计算效率更低,但是除了对时间要求极高的场景,一般影响可以忽略。 == 定义 == '''双精度浮点数'''('''double-precision floating-point type''')或 '''float64''' 、 '''FP64''' 、 '''binary64''' ,指长度为 64 位、符合 [[IEEE 754]] 中 binary64 类型浮点格式的浮点类型。 其中浮点数的 64 位包括符号位 1 位、阶码 11 位、尾数 52 位。 {{GiteaSvg|floating_point_binary64}} == 范围 == 阶码 11 位,因此阶码偏移量为 <math>b=2^{11-1}-1=1023</math> 。指数范围 <math>e_\min = 1-b=-1022, e_\max=b=1023</math> 。 尾数 52 位,精度 <math>p=53</math> ,因此尾数精度为 <math>2^{-52}</math> ,尾数取值在 0 ~ <math>1-2^{-52}</math> 之间。 其有效数精度为 53 位二进制数(含隐藏位)相当于约 15~16 位十进制数的有效数字(<math>\lg 2^{53} \approx 15.95</math>)。 由于部分语言及软件中,对数值默认用双精度计算来保证数据变化范围,它们会在有效数字超过 15 位或 16 位后出现精度丢失,特别是在原数是 <code>int64</code> 或[[字符串]]时。一般也说是数值超过 <code>int53</code> 时发生精度丢失。 {{GiteaSvg|floating_point_binary64_range}} 如图,对双精度浮点数,除了 0 和无穷、 NaN 外: * 规格化数 <math>(-1)^s 2^{E-1023} (1+M)</math> 正数/绝对值范围:<math>2^{-1022} \approx 2.225 \times 10^{-308}</math> ~ <math>2^{1023} \times (2 - 2^{-52}) \approx 1.798 \times 10^{308}</math> * 非规格化数 <math>(-1)^s 2^{e_\min} M</math> 正数/绝对值范围:<math>2^{-1022} \times 2^{-52} \approx 4.941 \times 10^{-324}</math> ~ <math>2^{-1022} \times (1 - 2^{-52}) \approx 2.225 \times 10^{-38}</math>
返回
双精度浮点数
。
Advertising: