Advertisement
Guest User

Untitled

a guest
Apr 9th, 2020
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.27 KB | None | 0 0
  1. #include <iostream>
  2. #include <cfloat>
  3.  
  4. float f_m_nul(int32_t &k) {
  5.     k = 0;
  6.     float e = 1.0f, prev = 1.0f;
  7.     while (e > 0.f) {
  8.         prev = e;
  9.         e /= 2.0f;
  10.         k++;
  11.     }
  12.     return prev;
  13. }
  14.  
  15. double d_m_eps(int32_t &k) {
  16.     k = 0;
  17.     double e = 1.0, prev = 1.0;
  18.     while (1.0 + e > 1.0) {
  19.         prev = e;
  20.         e /= 2.0;
  21.         k++;
  22.     }
  23.     return prev;
  24. }
  25.  
  26. float f_m_eps(int32_t &k) {
  27.     k = 0;
  28.     float e = 1.0f, prev = 1.0f;
  29.     while (1.0f + e > 1.0f) {
  30.         prev = e;
  31.         e /= 2.0f;
  32.         k++;
  33.     }
  34.     return prev;
  35. }
  36.  
  37. double d_m_nul(int32_t &k) {
  38.     k = 0;
  39.     double e = 1.0, prev = e;
  40.     while (e > 0.0) {
  41.         prev = e;
  42.         e /= 2.0;
  43.         k++;
  44.     }
  45.     return prev;
  46. }
  47.  
  48. int32_t main() {
  49.     int32_t k = 0;
  50.     std::cout << "float machine null = " << f_m_nul(k) << ". Divisions: " << k << '\n';
  51.     std::cout << "double machine null = " << d_m_nul(k) << ". Divisions: " << k << "\n\n";
  52.     std::cout << "double machine eps = " << d_m_eps(k) << ". Divisions: " << k << "\nStandard machine double eps = "
  53.               << DBL_EPSILON << "\n\n";
  54.     std::cout << "float machine eps = " << f_m_eps(k) << ". Divisions: " << k << "\nStandard machine float eps = "
  55.               << FLT_EPSILON;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement