Advertisement
Guest User

Untitled

a guest
May 16th, 2019
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.85 KB | None | 0 0
  1. Example #1: 3.141592653589793
  2. Stored in memory as 0100000000001001001000011111101101010100010001000010110100011000
  3. sign bit: 0
  4. exponent bits: 10000000000
  5. mantissa bits: 1001001000011111101101010100010001000010110100011000
  6. mantissa with implied `1` bit: 11001001000011111101101010100010001000010110100011000
  7. raw exponent: 1024
  8. actual exponent (subtracting 1023 from raw): 1
  9. mantissa with implied bit: 7074237752028440
  10. final value formula: sign * (mantissa / b^(p-1)) * b^exponent
  11. b (aka base) = 2
  12. p (aka precision) = 53
  13. final value = 1 * (7074237752028440 / 2^52) * 2^1
  14. final value = 1 * (7074237752028440 / 4503599627370496) * 2
  15. final value = 884279719003555/281474976710656
  16. final value = 3.141592653589793115997963468544185161590576171875
  17. final value ~= 3.141592653589793
  18.  
  19.  
  20.  
  21. Example #2: 1.0
  22. Stored in memory as 0011111111110000000000000000000000000000000000000000000000000000
  23. sign bit: 0
  24. exponent bits: 01111111111
  25. mantissa bits: 0000000000000000000000000000000000000000000000000000
  26. mantissa with implied `1` bit: 10000000000000000000000000000000000000000000000000000
  27. raw exponent: 1023
  28. actual exponent (subtracting 1023 from raw): 0
  29. mantissa with implied bit: 4503599627370496
  30. final value formula: sign * (mantissa / b^(p-1)) * b^exponent
  31. b (aka base) = 2
  32. p (aka precision) = 53
  33. final value = 1 * (4503599627370496 / 2^52) * 2^0
  34. final value = 1 * (4503599627370496 / 4503599627370496) * 1
  35. final value = 1
  36. final value ~= 1.0
  37.  
  38.  
  39.  
  40. Example #3: 0.25
  41. Stored in memory as 0011111111010000000000000000000000000000000000000000000000000000
  42. sign bit: 0
  43. exponent bits: 01111111101
  44. mantissa bits: 0000000000000000000000000000000000000000000000000000
  45. mantissa with implied `1` bit: 10000000000000000000000000000000000000000000000000000
  46. raw exponent: 1021
  47. actual exponent (subtracting 1023 from raw): -2
  48. mantissa with implied bit: 4503599627370496
  49. final value formula: sign * (mantissa / b^(p-1)) * b^exponent
  50. b (aka base) = 2
  51. p (aka precision) = 53
  52. final value = 1 * (4503599627370496 / 2^52) * 2^-2
  53. final value = 1 * (4503599627370496 / 4503599627370496) * 1/4
  54. final value = 1/4
  55. final value = 0.25
  56.  
  57.  
  58.  
  59. Example #4: 123.456
  60. Stored in memory as 0100000001011110110111010010111100011010100111111011111001110111
  61. sign bit: 0
  62. exponent bits: 10000000101
  63. mantissa bits: 1110110111010010111100011010100111111011111001110111
  64. mantissa with implied `1` bit: 11110110111010010111100011010100111111011111001110111
  65. raw exponent: 1029
  66. actual exponent (subtracting 1023 from raw): 6
  67. mantissa with implied bit: 8687443681197687
  68. final value formula: sign * (mantissa / b^(p-1)) * b^exponent
  69. b (aka base) = 2
  70. p (aka precision) = 53
  71. final value = 1 * (8687443681197687 / 2^52) * 2^6
  72. final value = 1 * (8687443681197687 / 4503599627370496) * 64
  73. final value = 8687443681197687/70368744177664
  74. final value = 123.4560000000000030695446184836328029632568359375
  75. final value ~= 123.456
  76.  
  77.  
  78.  
  79. Example #5: -777.0
  80. Stored in memory as 1100000010001000010010000000000000000000000000000000000000000000
  81. sign bit: 1
  82. exponent bits: 10000001000
  83. mantissa bits: 1000010010000000000000000000000000000000000000000000
  84. mantissa with implied `1` bit: 11000010010000000000000000000000000000000000000000000
  85. raw exponent: 1032
  86. actual exponent (subtracting 1023 from raw): 9
  87. mantissa with implied bit: 6834564278255616
  88. final value formula: sign * (mantissa / b^(p-1)) * b^exponent
  89. b (aka base) = 2
  90. p (aka precision) = 53
  91. final value = -1 * (6834564278255616 / 2^52) * 2^9
  92. final value = -1 * (6834564278255616 / 4503599627370496) * 512
  93. final value = -777
  94. final value ~= -777.0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement