For the single format, the difference between a normal number and a subnormal number is that the leading bit of the significand (the bit to left of the binary point) of a normal number is 1, whereas the leading bit of the significand of a subnormal number is 0. Single-format subnormal numbers were called single-format denormalized numbers in IEEE Standard 754.
# 1 楼答案
IEEE-754二进制64格式:
(1
s
;3×4−1=11e
s;64−3×4=52m
s),及其算法:
如果
e >000_0000_0000
和<111_1111_1111
:解释为(-1)
s×2e−平衡器:1023×(
基:1+m×2−一号推进器:52号。(这些是正常数字。)如果
e =000_0000_0000
:除了base:1
是base:0
和e
是e +1
之外,执行与上一行相同的操作。(这些是低于正常值的数字,但零不是低于正常值/正常值。)如果
e =111_1111_1111
和m =0000...0000
:解释为(-1)
s×无穷大如果} 。)
e =111_1111_1111
和m <>0000...0000
:解释为NaN。(Btwbtw:因此有2×(
252−1)
NaN、cf#Quiet NaN&^{因此:
它可能的最小正数是} (也是.NET的^{} ))(一个次正常数)
0_000_0000_0000_0000_..._0001
(^{它的最小可能正正规数是} )
0_000_0000_0001_0000_..._0000
(^{附录:
MIN_VALUE
计算:(-1)s:0×2(e:0+1)−平衡器:1023×(底座:0+m:1×2−一级推进器:52)
=1×2−1022×2−52
=2−1074({a6})
,和
MIN_NORMAL
计算:(-1)s:0×2e:1−平衡器:1023×(底座:1+m:0×2−一级推进器:52)
=1×2−1022×1
=2−1022
# 2 楼答案
两个相邻的标准化浮点数'x1'和'x2'之间的最大间距为
2 * epsilon * x1
(标准化浮点数的间距不是均匀的,而是对数间隔的)。这意味着,当实数(即“数学”数)四舍五入为浮点数时,最大相对误差为epsilon
,这是一个称为机器ε或unit roundoff的常数,对于双精度,其值为2^-52(近似值2.22e-16)小于
Double.MIN_NORMAL
的浮点数称为次正常数,它们均匀地填充0和Double.MIN_NORMAL
之间的间隙。这意味着涉及次正常值的计算可能导致不太准确的结果。当结果较小时,使用次正常值会使计算的精度降低得更慢# 3 楼答案
答案可以在IEEE specification of floating point representation中找到:
换句话说,
Double.MIN_NORMAL
是可以表示的最小数字,前提是二进制点前面有一个1(在十进制系统中称为小数点)。而Double.MIN_VALUE
基本上是在没有此约束的情况下可以表示的最小数字