简体   繁体   中英

Subnormal number and gradual underflow

I have read why use gradual underflow.

Gradual underflow satisfies the following formula.

a != b then ab != 0

I see why. But what else do we need to be satisfied with? And how to prove it?

The following does not seem to hold.

ab = 0 then a=0 or b=0, a/b = 0 then a=0

Is this okay?

But what else do we need to be satisfied with?

Avoids abrupt subtraction differences with small values. @Patricia Shanahan

Subtracting various nearby values several powers-of-2 just above DBL_MIN would otherwise result in 0. With sub-normals, the difference is gradual and non-zero.

The following does not seem to hold.

ab = 0 then a=0 or b=0, a/b = 0 then a=0

Is this okay?

Yes. When a,b are both non-zero and much less than sqrt(DBL_MIN) , the product rounds to zero.

Similar situation can occur with a/b : a = sqrt(DBL_MIN) and b much greater than sqrt(DBL_MAX) .

In these cases, the gradual precision loss of sub-normal is not the key issue. Finite range of the exponents causes a rounding to 0.


Sub-normals also allow a non-zero answer to a unit in the last place function for all finite double .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM