Skip to main content
0.9999998 x 2^127 represented in hex as: mansissa=7FFFFFmantissa=7FFFFF, exponent=7F.

This is the the largest 32-bit floating point value, because the largest mantissa is used and the largest exponent.

The 48-bit floating point adds 16 bits of lessor significance mantissa, but leaves the exponent the same size. Thus, the max value would be represented in hex as

Some floating point formats use an unrepresented hidden 1 bit in the mantissa (this allows for one extra bit of precision in the mantissa, as follows: the first binary digit of all numbers (except 0, or denormals, see below) is a 1, therefore we don't have to store that 1, and we have an extra bit of precisonprecision). This particular format doesn't seem to do this.

The reason this value is not directly 8388607, and requires division (by 2^23 and hence is less than what you might expect) is becausethat the implied radix point is in front of the mantissa, rather than after it. So, think +/-.111111111111111111111 (a sign bit, followed by a radix point, followed by twenty-three 1-bits) for the mantissa and +/-111111111111 (no radix point here, just an integer, in this case, 127) for the exponent.

Among others, there are possiblepossible ways we can consider a single bit value for the mantissa. One is mantissa=0x400000, and the other is mantissa=0x000001. without considering the radix point or the exponent, the former is 4,194,304, and the latter is 1. With a zero exponent and considering the radix point, the former is 0.5 (decimal) and the latter is 0.00000011920928955078125. With a maximum (or minimum) exponent, we can compute max and min single bit values.

0.9999998 x 2^127 represented in hex as: mansissa=7FFFFF, exponent=7F.

This is the the largest 32-bit floating point value, because the largest mantissa is used and the largest exponent.

The 48-bit floating point adds 16 bits of lessor significance mantissa, but leaves the exponent the same size. Thus, the max value would be represented in hex as

Some floating point formats use an unrepresented hidden 1 bit in the mantissa (this allows for one extra bit of precision in the mantissa, as follows: the first binary digit of all numbers (except 0, or denormals, see below) is a 1, therefore we don't have to store that 1, and we have an extra bit of precison). This particular format doesn't seem to do this.

The reason this value is not directly 8388607, and requires division (by 2^23 and hence is less than what you might expect) is because the implied radix point is in front of the mantissa, rather than after it. So, think +/-.111111111111111111111 (a sign bit, followed by a radix point, followed by twenty-three 1-bits) for the mantissa and +/-111111111111 (no radix point here, just an integer, in this case, 127) for the exponent.

Among others, there are possible ways we can consider a single bit value for the mantissa. One is mantissa=0x400000, and the other is mantissa=0x000001. without considering the radix point or the exponent, the former is 4,194,304, and the latter is 1. With a zero exponent and considering the radix point, the former is 0.5 (decimal) and the latter is 0.00000011920928955078125. With a maximum (or minimum) exponent we can compute max and min single bit values.

0.9999998 x 2^127 represented in hex as: mantissa=7FFFFF, exponent=7F.

This is the largest 32-bit floating point value because the largest mantissa is used and the largest exponent.

The 48-bit floating point adds 16 bits of lessor significance mantissa but leaves the exponent the same size. Thus, the max value would be represented in hex as

Some floating point formats use an unrepresented hidden 1 bit in the mantissa (this allows for one extra bit of precision in the mantissa, as follows: the first binary digit of all numbers (except 0, or denormals, see below) is a 1, therefore we don't have to store that 1, and we have an extra bit of precision). This particular format doesn't seem to do this.

The reason this value is not directly 8388607, and requires division (by 2^23 and hence is less than what you might expect) is that the implied radix point is in front of the mantissa, rather than after it. So, think +/-.111111111111111111111 (a sign bit, followed by a radix point, followed by twenty-three 1-bits) for the mantissa and +/-111111111111 (no radix point here, just an integer, in this case, 127) for the exponent.

Among others, there are possible ways we can consider a single bit value for the mantissa. One is mantissa=0x400000, and the other is mantissa=0x000001. without considering the radix point or the exponent, the former is 4,194,304, and the latter is 1. With a zero exponent and considering the radix point, the former is 0.5 (decimal) and the latter is 0.00000011920928955078125. With a maximum (or minimum) exponent, we can compute max and min single bit values.

deleted 2 characters in body
Source Link
Erik Eidt
  • 34.8k
  • 6
  • 61
  • 95

mantissa = 0x7FFFFFF0x7FFFFF with exponent = 0x7F is the largest value which corresponds to 8388607 * 2 ^ 104, where the 104 comes from 127-23: again, subtracting 23 powers of two because the mantissa has the radix point at the beginning. If the radix point were at the end, then the largest value (0x7FFFFF,0x7F) would indeed be 8,388,607 * 2 ^ 127.

(Note that the latter format where the mantissa has leading zeros would be considered denormalized in some number formats, and it'sits normalized representation would be 0x400000 with an exponent of -23).

mantissa = 0x7FFFFFF with exponent = 0x7F is the largest value which corresponds to 8388607 * 2 ^ 104, where the 104 comes from 127-23: again, subtracting 23 powers of two because the mantissa has the radix point at the beginning. If the radix point were at the end, then the largest value (0x7FFFFF,0x7F) would indeed be 8,388,607 * 2 ^ 127.

(Note that the latter format where the mantissa has leading zeros would be considered denormalized in some number formats, and it's normalized representation would be 0x400000 with an exponent of -23).

mantissa = 0x7FFFFF with exponent = 0x7F is the largest value which corresponds to 8388607 * 2 ^ 104, where the 104 comes from 127-23: again, subtracting 23 powers of two because the mantissa has the radix point at the beginning. If the radix point were at the end, then the largest value (0x7FFFFF,0x7F) would indeed be 8,388,607 * 2 ^ 127.

(Note that the latter format where the mantissa has leading zeros would be considered denormalized in some number formats, and its normalized representation would be 0x400000 with an exponent of -23).

deleted 16 characters in body
Source Link
Robert Harvey
  • 200.7k
  • 55
  • 470
  • 683

@hariprasad:

8,388,607 / 2^23 is the value you'd get with mantissa=0x7FFFFF and exponent=0x00. It is not the single bit value but rather the value with a full mantissa and a neutral, or more specifically, a zero exponent.

@hariprasad:

8,388,607 / 2^23 is the value you'd get with mantissa=0x7FFFFF and exponent=0x00. It is not the single bit value but rather the value with a full mantissa and a neutral, or more specifically, a zero exponent.

8,388,607 / 2^23 is the value you'd get with mantissa=0x7FFFFF and exponent=0x00. It is not the single bit value but rather the value with a full mantissa and a neutral, or more specifically, a zero exponent.

added 710 characters in body
Source Link
Erik Eidt
  • 34.8k
  • 6
  • 61
  • 95
Loading
added 1048 characters in body
Source Link
Erik Eidt
  • 34.8k
  • 6
  • 61
  • 95
Loading
added 136 characters in body
Source Link
Erik Eidt
  • 34.8k
  • 6
  • 61
  • 95
Loading
added 518 characters in body
Source Link
Erik Eidt
  • 34.8k
  • 6
  • 61
  • 95
Loading
added 518 characters in body
Source Link
Erik Eidt
  • 34.8k
  • 6
  • 61
  • 95
Loading
Source Link
Erik Eidt
  • 34.8k
  • 6
  • 61
  • 95
Loading