#include #include #include int main() { for (auto mode : {FE_TONEAREST, FE_TOWARDZERO, FE_DOWNWARD, FE_UPWARD}) { std::fesetround(mode); std::cout << "Rundungsmodus: " << mode << "\nx\tround\trint\tnearby\n"; for (double x : { -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5 }) { std::cout << x << '\t' << std::round(x) << '\t' // round .5 away from zero (aufrunden) << std::rint(x) << '\t' // round .5 to nearest even (zur nächsten geraden Zahl) << std::nearbyint(x) << '\n'; // in IEEE 754 default mode FE_TONEAREST } } }