From 4ddf18d000734c1b6d0a48127bf338086fc3f2c3 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Tue, 5 Nov 2019 10:18:57 -0500 Subject: [PATCH] fix sign error (#2933) The exponent range is -1075 - 970, not 1075 - 970. --- spec/types.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/types.md b/spec/types.md index 304c38a..4632f85 100644 --- a/spec/types.md +++ b/spec/types.md @@ -188,7 +188,7 @@ C# supports two floating point types: `float` and `double`. The `float` and `dou * Positive zero and negative zero. In most situations, positive zero and negative zero behave identically as the simple value zero, but certain operations distinguish between the two ([Division operator](expressions.md#division-operator)). * Positive infinity and negative infinity. Infinities are produced by such operations as dividing a non-zero number by zero. For example, `1.0 / 0.0` yields positive infinity, and `-1.0 / 0.0` yields negative infinity. * The ***Not-a-Number*** value, often abbreviated NaN. NaNs are produced by invalid floating-point operations, such as dividing zero by zero. -* The finite set of non-zero values of the form `s * m * 2^e`, where `s` is 1 or -1, and `m` and `e` are determined by the particular floating-point type: For `float`, `0 < m < 2^24` and `-149 <= e <= 104`, and for `double`, `0 < m < 2^53` and `1075 <= e <= 970`. Denormalized floating-point numbers are considered valid non-zero values. +* The finite set of non-zero values of the form `s * m * 2^e`, where `s` is 1 or -1, and `m` and `e` are determined by the particular floating-point type: For `float`, `0 < m < 2^24` and `-149 <= e <= 104`, and for `double`, `0 < m < 2^53` and `-1075 <= e <= 970`. Denormalized floating-point numbers are considered valid non-zero values. The `float` type can represent values ranging from approximately `1.5 * 10^-45` to `3.4 * 10^38` with a precision of 7 digits.