Oracle® Solaris Studio 12.4:数值计算指南

退出打印视图

更新时间: 2015 年 1 月
 
 

3.4.2 ieee_values(3m)

无穷大、NaN、最大和最小正浮点数等 IEEE 值是由 ieee_values(3m) 手册页中介绍的函数提供的。 Table 3–9Table 3–10Table 3–11Table 3–12 中显示了 ieee_values(3m) 函数提供的值的十进制值及其十六进制 IEEE 表示形式。

表 3-9  IEEE 值:单精度
IEEE 值
十进制值十六进制表示形式
C、C++ Fortran
最大正规数
3.40282347e+38 7f7fffff
r = max_normalf(); r = r_max_normal()
最小正规数
1.17549435e–38 00800000
r = min_normalf(); r = r_min_normal()
最大次正规数
1.17549421e–38 007fffff
r = max_subnormalf(); r = r_max_subnormal()
最小次正规数
1.40129846e–45 00000001
r = min_subnormalf(); r = r_min_subnormal()
Infinity 7f800000
r = infinityf(); r = r_infinity()
quiet NaN(静态 NaN)
NaN 7fffffff
r = quiet_nanf(0); r = r_quiet_nan(0)
信号 NaN
NaN 7f800001
r = signaling_nanf(0); r = r_signaling_nan(0)
表 3-10  IEEE 值:双精度
IEEE 值
十进制值十六进制表示形式
C、C++ Fortran
最大正规数
1.7976931348623157e+308
7fefffff ffffffff
d = max_normal(); d = d_max_normal()
最小正规数
2.2250738585072014e–308
00100000 00000000
d = min_normal(); d = d_min_normal()
最大次正规数
2.2250738585072009e–308
000fffff ffffffff
d = max_subnormal(); d = d_max_subnormal()
最小次正规数
4.9406564584124654e–324
00000000 00000001
d = min_subnormal(); d = d_min_subnormal()
Infinity
7ff00000 00000000
d = infinity(); d = d_infinity()
quiet NaN(静态 NaN)
NaN
7fffffff ffffffff
d = quiet_nan(0); d = d_quiet_nan(0)
信号 NaN
NaN
7ff00000 00000001
d = signaling_nan(0); d = d_signaling_nan(0)
表 3-11  IEEE 值:四倍精度
IEEE 值
十进制值十六进制表示形式
C、C++ (SPARC)
Fortran(所有)
最大正规数
1.1897314953572317650857593266280070e+4932
7ffeffff ffffffff ffffffff ffffffff
q = max_normall(); q = q_max_normal()
最小正规数
3.3621031431120935062626778173217526e–4932
00010000 00000000 00000000 00000000
q = min_normall(); q = q_min_normal()
最大次正规数
3.3621031431120935062626778173217520e–4932
0000ffff ffffffff ffffffff ffffffff
q = max_subnormall(); q = q_max_subnormal()
最小次正规数
6.4751751194380251109244389582276466e–4966
00000000 00000000 00000000 00000001
q = min_subnormall(); q = q_min_subnormal()
Infinity
7fff0000 00000000 00000000 00000000
q = infinityl(); q = q_infinity()
quiet NaN(静态 NaN)
NaN
7fff8000 00000000 00000000 00000000
q = quiet_nanl(0); q = q_quiet_nan(0)
信号 NaN
NaN
7fff0000 00000000 00000000 00000001
q = signaling_nanl(0); q = q_signaling_nan(0)
表 3-12  IEEE 值:双扩展精度 (x86)
IEEE 值
十进制值十六进制表示形式(80 位)
C、C++
最大正规数
1.18973149535723176505e+4932
7ffe ffffffff ffffffff
x = max_normall();
最小正正规数
3.36210314311209350626e–4932
0001 80000000 00000000
x = min_normall();
最大次正规数
3.36210314311209350608e–4932
0000 7fffffff ffffffff
x = max_subnormall();
最小正次正规数
1.82259976594123730126e–4951
0000 00000000 00000001
x = min_subnormall();
Infinity
7fff 80000000 00000000
x = infinityl();
quiet NaN(静态 NaN)
NaN
7fff c0000000 00000000
x = q
信号 NaN
NaN
7fff 80000000 00000001
x = signaling_nanl(0);