You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We end up with symm(Max|Min)Exp64 = 384|-383 and (max|min)Exp64 = 369|-398.
The decimal128 group can then be written in exactly the same form, with the only changes being to the first two constants:
decDigits128=34expBits128=14
It could even be extended to decimal32, in the event that we ever wanted to implement it:
decDigits32=7expBits32=8
Technically, we could even derive decDigits(32|64|128):
decDigits64= (64-expBits64) *3/10
64 - expBits64 is the number of bits of precision available for the significand and 3/10 is close enough to log(2)/log(10) to convert bits to digits for the given values of expBits(32|64|128). But I think this a bit too abstruse for the reader.
Let's clean this up.
64
.Thus:
We end up with
symm(Max|Min)Exp64
= 384|-383 and(max|min)Exp64
= 369|-398.The decimal128 group can then be written in exactly the same form, with the only changes being to the first two constants:
It could even be extended to decimal32, in the event that we ever wanted to implement it:
Technically, we could even derive
decDigits(32|64|128)
:64 - expBits64
is the number of bits of precision available for the significand and 3/10 is close enough to log(2)/log(10) to convert bits to digits for the given values ofexpBits(32|64|128)
. But I think this a bit too abstruse for the reader.https://play.golang.org/p/X-WNwWgkcht
The text was updated successfully, but these errors were encountered: