Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cfloat>
- float f_m_nul(int32_t &k) {
- k = 0;
- float e = 1.0f, prev = 1.0f;
- while (e > 0.f) {
- prev = e;
- e /= 2.0f;
- k++;
- }
- return prev;
- }
- double d_m_eps(int32_t &k) {
- k = 0;
- double e = 1.0, prev = 1.0;
- while (1.0 + e > 1.0) {
- prev = e;
- e /= 2.0;
- k++;
- }
- return prev;
- }
- float f_m_eps(int32_t &k) {
- k = 0;
- float e = 1.0f, prev = 1.0f;
- while (1.0f + e > 1.0f) {
- prev = e;
- e /= 2.0f;
- k++;
- }
- return prev;
- }
- double d_m_nul(int32_t &k) {
- k = 0;
- double e = 1.0, prev = e;
- while (e > 0.0) {
- prev = e;
- e /= 2.0;
- k++;
- }
- return prev;
- }
- int32_t main() {
- int32_t k = 0;
- std::cout << "float machine null = " << f_m_nul(k) << ". Divisions: " << k << '\n';
- std::cout << "double machine null = " << d_m_nul(k) << ". Divisions: " << k << "\n\n";
- std::cout << "double machine eps = " << d_m_eps(k) << ". Divisions: " << k << "\nStandard machine double eps = "
- << DBL_EPSILON << "\n\n";
- std::cout << "float machine eps = " << f_m_eps(k) << ". Divisions: " << k << "\nStandard machine float eps = "
- << FLT_EPSILON;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement