In: Computer Science
Convert 1.67e14 to the 32-bit IEEE 754 Floating Point Standard, with the following layout: first bit is sign bit, next 8 bits is exponent field, and remaining 23 bits is mantissa field; result is to be in hexadecimal and not to be rounded up.
answer choices
5717E27B
57172EB7
5717E2B7
C717E2B7
5771E2B7
Answer:
--------
c)  5717E2B7
Explanation:
-------------
Converting 167000000000000.0 to binary
   Convert decimal part first, then the fractional part
   > First convert 167000000000000 to binary
   Divide 167000000000000 successively by 2 until the quotient is 0
      > 167000000000000/2 = 83500000000000, remainder is 0
      > 83500000000000/2 = 41750000000000, remainder is 0
      > 41750000000000/2 = 20875000000000, remainder is 0
      > 20875000000000/2 = 10437500000000, remainder is 0
      > 10437500000000/2 = 5218750000000, remainder is 0
      > 5218750000000/2 = 2609375000000, remainder is 0
      > 2609375000000/2 = 1304687500000, remainder is 0
      > 1304687500000/2 = 652343750000, remainder is 0
      > 652343750000/2 = 326171875000, remainder is 0
      > 326171875000/2 = 163085937500, remainder is 0
      > 163085937500/2 = 81542968750, remainder is 0
      > 81542968750/2 = 40771484375, remainder is 0
      > 40771484375/2 = 20385742187, remainder is 1
      > 20385742187/2 = 10192871093, remainder is 1
      > 10192871093/2 = 5096435546, remainder is 1
      > 5096435546/2 = 2548217773, remainder is 0
      > 2548217773/2 = 1274108886, remainder is 1
      > 1274108886/2 = 637054443, remainder is 0
      > 637054443/2 = 318527221, remainder is 1
      > 318527221/2 = 159263610, remainder is 1
      > 159263610/2 = 79631805, remainder is 0
      > 79631805/2 = 39815902, remainder is 1
      > 39815902/2 = 19907951, remainder is 0
      > 19907951/2 = 9953975, remainder is 1
      > 9953975/2 = 4976987, remainder is 1
      > 4976987/2 = 2488493, remainder is 1
      > 2488493/2 = 1244246, remainder is 1
      > 1244246/2 = 622123, remainder is 0
      > 622123/2 = 311061, remainder is 1
      > 311061/2 = 155530, remainder is 1
      > 155530/2 = 77765, remainder is 0
      > 77765/2 = 38882, remainder is 1
      > 38882/2 = 19441, remainder is 0
      > 19441/2 = 9720, remainder is 1
      > 9720/2 = 4860, remainder is 0
      > 4860/2 = 2430, remainder is 0
      > 2430/2 = 1215, remainder is 0
      > 1215/2 = 607, remainder is 1
      > 607/2 = 303, remainder is 1
      > 303/2 = 151, remainder is 1
      > 151/2 = 75, remainder is 1
      > 75/2 = 37, remainder is 1
      > 37/2 = 18, remainder is 1
      > 18/2 = 9, remainder is 0
      > 9/2 = 4, remainder is 1
      > 4/2 = 2, remainder is 0
      > 2/2 = 1, remainder is 0
      > 1/2 = 0, remainder is 1
   Read remainders from the bottom to top as 100101111110001010110111101011010111000000000000
   So, 167000000000000 of decimal is 100101111110001010110111101011010111000000000000 in binary
   > Now, Convert 0.00000000 to binary
      > Multiply 0.00000000 with 2.  Since 0.00000000 is < 1. then add 0 to result
      > This is equal to 1, so, stop calculating
   0.0 of decimal is .0 in binary
   so, 167000000000000.0 in binary is 100101111110001010110111101011010111000000000000.0
167000000000000.0 in simple binary => 100101111110001010110111101011010111000000000000.0
so, 167000000000000.0 in normal binary is 100101111110001010110111101011010111000000000000.0 => 1.00101111110001010110111 * 2^47
single precision:
--------------------
sign bit is 0(+ve)
exp bits are (127+47=174) => 10101110
   Divide 174 successively by 2 until the quotient is 0
      > 174/2 = 87, remainder is 0
      > 87/2 = 43, remainder is 1
      > 43/2 = 21, remainder is 1
      > 21/2 = 10, remainder is 1
      > 10/2 = 5, remainder is 0
      > 5/2 = 2, remainder is 1
      > 2/2 = 1, remainder is 0
      > 1/2 = 0, remainder is 1
   Read remainders from the bottom to top as 10101110
   So, 174 of decimal is 10101110 in binary
frac bits are 00101111110001010110111
so, 167000000000000.0 in single-precision format is 0 10101110 00101111110001010110111
in hexadecimal it is 0x5717E2B7