gpt4 book ai didi

c - C中long double的范围是如何计算的?

转载 作者:行者123 更新时间:2023-11-30 21:20:27 26 4
gpt4 key购买 nike

在学习C语言时,我了解到long double的范围是3.4E-4932到1.1E+4932。这里的E是什么? long double 的大小(10 字节)。如果我假设 E 是 10,那么 double 将数字存储到小数点后 19 位需要多长时间。

最佳答案

3.4E-4932 表示 enter image description here 。 float 和 double 都以指数和尾数分开的格式存储。在您的示例中,-4392 将被编码在指数中,3.4 将被编码在尾数中,两者都作为二进制数。

请注意,IEEE 浮点格式有多种范围,其可用性因平台而异。引用IEEE floating point更多细节。正如 Joe Farrell 所指出的,你的范围可能是 x86 Extended Precision Format 。该格式携带 1 位符号 (s)、15 位二进制指数 (e)(偏差为 -16383)以及 1 + 63 位二进制尾数 (m)。对于标准化数字,该值计算为 enter image description here .

此格式中最小正归一化数的符号位为 0,指数为 1,尾数为 1.0,对应 enter image description hereenter image description here 。在二进制中,该数字如下所示:

enter image description here

关于c - C中long double的范围是如何计算的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38383454/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com