hrefspace

 找回密码
 立即注册
搜索
热搜: PHP PS 程序设计
查看: 603|回复: 9

请教 long double

[复制链接]

557

主题

557

帖子

1898

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1898
发表于 2024-1-13 09:11:23 | 显示全部楼层 |阅读模式
书上说是 1.7e-308~1.7e+308(长度64bit)
google计算器能显示的数是
1.79769313*10^308

请问这个1.79769313是怎么来的?

(从longdouble的存储结构上)
回复

使用道具 举报

0

主题

198

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2024-1-13 09:12:17 | 显示全部楼层
首先给楼主更正一下:值域范围达到 1.7E+308 的是double 型,它是8字节;
long double 是10字节的,最大可到 1.1E+4932
这是 International Electrotechnical Commission(IEC) 在1989年定义的二元浮点算术标准(IEC60559)
C99 标准支持上述 IEC 浮点标准。不过早期的编译器把long double视同为double。

楼主应该查阅一下浮点数在计算机里的存储格式以及规则。
回复

使用道具 举报

1

主题

207

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2024-1-13 09:12:43 | 显示全部楼层
VC编译器也把long double 视为double,也就是说在vc中使用long double并不能提高精度
回复

使用道具 举报

0

主题

171

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2024-1-13 09:13:17 | 显示全部楼层
2^1024=1.797693134862315907729305190789e+308


1.79769313 就是这么来的


(用 WINDOWS 自带的计算器算的)
回复

使用道具 举报

0

主题

192

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2024-1-13 09:14:03 | 显示全部楼层
非常有用,非常感谢
回复

使用道具 举报

0

主题

194

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2024-1-13 09:14:23 | 显示全部楼层


是不是目前的编译器都支持
long double?
或者还是
和平台相关的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

188

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2024-1-13 09:14:56 | 显示全部楼层
支持,但是不同平台下精度可能不同
回复

使用道具 举报

0

主题

167

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2024-1-13 09:15:40 | 显示全部楼层
反正
128精度的标准快出来了
80位的早晚退休
呵呵
回复

使用道具 举报

0

主题

171

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2024-1-13 09:16:00 | 显示全部楼层
long double ?
VC   8byte
BCB  10byte
G++   12byte
回复

使用道具 举报

1

主题

188

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2024-1-13 09:16:36 | 显示全部楼层
12 byte 估计是出于字节对齐需要吧,
精度不会再提高,
因为CPU内部的寄存器存储容量是有限的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|hrefspace

GMT+8, 2024-11-21 22:43 , Processed in 0.066686 second(s), 22 queries .

Powered by hrefspace X3.4 Licensed

Copyright © 2022, hrefspace.

快速回复 返回顶部 返回列表