#include // Required for input/output operations (std::cout) #include // Required for std::numeric_limits int main() { // Limits for integer types std::cout << "--- Integer Type Limits ---" << std::endl; std::cout << "int:" << std::endl; std::cout << " Min: " << std::numeric_limits::min() << std::endl; std::cout << " Max: " << std::numeric_limits::max() << std::endl; std::cout << "unsigned int:" << std::endl; std::cout << " Min: " << std::numeric_limits::min() << std::endl; std::cout << " Max: " << std::numeric_limits::max() << std::endl; std::cout << "long long:" << std::endl; std::cout << " Min: " << std::numeric_limits::min() << std::endl; std::cout << " Max: " << std::numeric_limits::max() << std::endl; std::cout << "char:" << std::endl; std::cout << " Min: " << static_cast(std::numeric_limits::min()) << std::endl; // Cast to int for printable value std::cout << " Max: " << static_cast(std::numeric_limits::max()) << std::endl; // Cast to int for printable value std::cout << std::endl; std::cout << "unsigned char:" << std::endl; std::cout << " Min: " << static_cast(std::numeric_limits::min()) << std::endl; // Cast to int for printable value std::cout << " Max: " << static_cast(std::numeric_limits::max()) << std::endl; // Cast to int for printable value std::cout << std::endl; // Limits for floating-point types std::cout << "--- Floating-Point Type Limits ---" << std::endl; std::cout << "float:" << std::endl; std::cout << " Min: " << std::numeric_limits::min() << std::endl; std::cout << " Max: " << std::numeric_limits::max() << std::endl; std::cout << " Epsilon: " << std::numeric_limits::epsilon() << std::endl; // Smallest positive value such that 1.0 + epsilon != 1.0 std::cout << "double:" << std::endl; std::cout << " Min: " << std::numeric_limits::min() << std::endl; std::cout << " Max: " << std::numeric_limits::max() << std::endl; std::cout << " Epsilon: " << std::numeric_limits::epsilon() << std::endl; std::cout << std::endl; // Other properties (example for double) std::cout << "--- Other Properties (double) ---" << std::endl; std::cout << "Has infinity: " << std::boolalpha << std::numeric_limits::has_infinity << std::endl; std::cout << "Infinity: " << std::numeric_limits::infinity() << std::endl; std::cout << "Is signed: " << std::boolalpha << std::numeric_limits::is_signed << std::endl; return 0; }