Converting 2000.90210 to IEEE 754 Hexadecimal

  • Thread starter Thread starter s3a
  • Start date Start date
  • Tags Tags
    hexadecimal Ieee
AI Thread Summary
The discussion focuses on converting the decimal number 2000.90210 to its IEEE 754 single-precision hexadecimal representation. Participants address issues with the binary conversion, noting that the binary fraction cannot be represented exactly, leading to potential rounding errors. A key point of confusion arises around the exponent calculation, specifically the correct application of the equation for the exponent field. After clarifying the exponent formula, users identify that discrepancies in the output from a conversion tool suggest an issue with the exponent rather than the conversion process itself. Ultimately, the conversation emphasizes the importance of accurate exponent handling in IEEE 754 conversions.
s3a
Messages
814
Reaction score
8

Homework Statement


Convert the decimal number 2000.90210 to a single-precision IEEE 754 hexadecimal.

Homework Equations


(exponent field)_10 - 127_10 = exponent_10
The first bit is the sign bit.
The 2nd to 9th bits are the exponent bits.
The 10th to 32nd bits are the fraction field bits.
1.(fraction field)_2 x 2^(exponent_10) leads to the base 10 final answer

The Attempt at a Solution


My attempt at the solution is attached as MyWork.jpg.

I was planning to convert it to the binary IEEE 754 32-bit single-precision representation since that's what I am familiar with and then convert it to hexadecimal however, it seems that when I do this, my binary version is far off from the decimal value I'm initially given.

I'm not sure but, this might be related to the fact that the binary fraction field is (at least, seemingly) irrational.

Any help in solving this problem would be greatly appreciated!
 

Attachments

  • MyWork.jpg
    MyWork.jpg
    29.1 KB · Views: 1,995
Physics news on Phys.org


s3a said:
I'm not sure but, this might be related to the fact that the binary fraction field is (at least, seemingly) irrational.
Rational <-> irrational is independent of the base you express a number in. There is no exact representation of the number with a finite number in base 2, but that does not matter. It just gives a small rounding error.

my binary version is far off from the decimal value I'm initially given.
In which way?
Your attempt looks fine.
 


Hello.

Rational <-> irrational is independent of the base you express a number in. There is no exact representation of the number with a finite number in base 2, but that does not matter. It just gives a small rounding error.
Alright.

In which way?
Your attempt looks fine.
When I input my binary IEEE 754 answer to this ( http://www.h-schmidt.net/FloatConverter/IEEE754.html ) website, the decimal representation is around 4001.80. If it's not my work that's wrong, what's wrong with the Java applet software or with the way I am “communicating” with it?
 


s3a said:
(exponent field)_10 - 127_10 = exponent_10
so this means
(exponent field)_10 = exponent_10 + 127_10

if exponent_10 is 127, then what should (exponent field)_10 be?
 


so this means
(exponent field)_10 = exponent_10 + 127_10

if exponent_10 is 127, then what should (exponent field)_10 be?
The equation is (exponent field)_10 = exponent_10 – 127_10. (Notice the – instead of a +.) I did do that in my work, however. So, why is the Java applet software disagreeing strongly with me?
 


From your first post:

s3a said:
(exponent field)_10 - 127_10 = exponent_10

start with the equation from your first post:

(exponent field)_10 - 127_10 = exponent_10

then add 127_10 to both sides:

(exponent field)_10 = exponent_10 + 127_10
 


s3a said:
When I input my binary IEEE 754 answer to this ( http://www.h-schmidt.net/FloatConverter/IEEE754.html ) website, the decimal representation is around 4001.80. If it's not my work that's wrong, what's wrong with the Java applet software or with the way I am “communicating” with it?
I would not call this "far off", it is exactly a factor of 2, indicating a problem with the exponent. rcgldr found the error.
 


Good point, mfb. I just noticed that.

And, rcgldr, that was just what I needed to fix my entire answer to the problem.

Thank you both!
 


Good point, mfb. I just noticed that.

And, rcgldr, that was just what I needed to fix my entire answer to the problem.

Thank you both!
 
Back
Top