#include #include #include int main() { int choice; printf("1. int\n"); printf("2. unsigned int\n"); printf("3. long int\n"); printf("4. unsigned long int\n"); printf("5. long long int\n"); printf("6. unsigned long long int\n"); printf("7. float\n"); printf("8. double\n"); printf("9. long double\n"); printf("Enter your choice (1-9): "); scanf("%d", &choice); switch (choice) { case 1: printf("max number (decimal), (hexadecimal): %d, 0x%X\n", INT_MAX, INT_MAX); printf("min number (decimal), (hexadecimal): %d, 0x%X\n", INT_MIN, INT_MIN); break; case 2: printf("max number (decimal), (hexadecimal): %u, 0x%X\n", UINT_MAX, UINT_MAX); printf("min number (decimal), (hexadecimal): 0, 0x0\n"); break; case 3: printf("max number (decimal), (hexadecimal): %ld, 0x%lX\n", LONG_MAX, LONG_MAX); printf("min number (decimal), (hexadecimal): %ld, 0x%lX\n", LONG_MIN, LONG_MIN); break; case 4: printf("max number (decimal), (hexadecimal): %lu, 0x%lX\n", ULONG_MAX, ULONG_MAX); printf("min number (decimal), (hexadecimal): 0, 0x0\n"); break; case 5: printf("max number (decimal), (hexadecimal): %lld, 0x%llX\n", LLONG_MAX, LLONG_MAX); printf("min number (decimal), (hexadecimal): %lld, 0x%llX\n", LLONG_MIN, LLONG_MIN); break; case 6: printf("max number (decimal), (hexadecimal): %llu, 0x%llX\n", ULLONG_MAX, ULLONG_MAX); printf("min number (decimal), (hexadecimal): 0, 0x0\n"); break; case 7: { float max_float = FLT_MAX; float min_float = FLT_MIN; printf("max number (decimal), (hexadecimal), (scientific): %e, 0x%08X, %e\n", max_float, *(int*)&max_float, max_float); printf("min number (decimal), (hexadecimal), (scientific): %e, 0x%08X, %e\n", min_float, *(int*)&min_float, min_float); break; } case 8: { double max_double = DBL_MAX; double min_double = DBL_MIN; printf("max number (decimal), (hexadecimal), (scientific): %e, 0x%016llX, %e\n", max_double, *(long long*)&max_double, max_double); printf("min number (decimal), (hexadecimal), (scientific): %e, 0x%016llX, %e\n", min_double, *(long long*)&min_double, min_double); break; } case 9: { long double max_ldouble = LDBL_MAX; long double min_ldouble = LDBL_MIN; printf("max number (decimal), (hexadecimal), (scientific): %Le, 0x%016llX, %Le\n", max_ldouble, *(long long*)&max_ldouble, max_ldouble); printf("min number (decimal), (hexadecimal), (scientific): %Le, 0x%016llX, %Le\n", min_ldouble, *(long long*)&min_ldouble, min_ldouble); break; } default: printf("Invalid choice.\n"); break; } return 0; }