La mayoría de las veces, en la programación competitiva, existe la necesidad de asignar a la variable, el valor máximo o mínimo que puede contener el tipo de datos, pero recordar un número tan grande y preciso resulta un trabajo difícil. Por lo tanto, C++ tiene ciertas macros para representar estos números, de modo que estos puedan asignarse directamente a la variable sin tener que escribir el número entero. Lista de algunos de ellos se mencionan a continuación.
Data Type Range Macro for min value Macro for max value char -128 to +127 CHAR_MIN CHAR_MAX short char -128 to +127 SCHAR_MIN SCHAR_MAX unsigned char 0 to 255 0 UCHAR_MAX short int -32768 to +32767 SHRT_MIN SHRT_MAX unsigned short int 0 to 65535 0 USHRT_MAX int -2147483648 to +2147483647 INT_MIN INT_MAX unsigned int 0 to 4294967295 0 UINT_MAX long int -9223372036854775808 to +9223372036854775807 LONG_MIN LONG_MAX unsigned long int 0 to 18446744073709551615 0 ULONG_MAX long long int -9223372036854775808 to +9223372036854775807 LLONG_MIN LLONG_MAX unsigned long long int 0 to 18446744073709551615 0 ULLONG_MAX float 1.17549e-38 to 3.40282e+38 FLT_MIN FLT_MAX float(negative) -1.17549e-38 to -3.40282e+38 -FLT_MIN -FLT_MAX double 2.22507e-308 to 1.79769e+308 DBL_MIN DBL_MAX double(negative) -2.22507e-308 to -1.79769e+308 -DBL_MIN -DBL_MAX
// C++ code to demonstrate the macros for data types #include<iostream> #include<limits.h> // for int,char macros #include<float.h> // for float,double macros using namespace std; int main() { // Displaying ranges with the help of macros cout << "char ranges from : " << CHAR_MIN << " to " << CHAR_MAX; cout << "\n\nshort char ranges from : " << SCHAR_MIN << " to " << SCHAR_MAX; cout << "\n\nunsigned char ranges from : " << 0 << " to " << UCHAR_MAX; cout << "\n\n\nshort int ranges from : " << SHRT_MIN << " to " << SHRT_MAX; cout << "\n\nunsigned short int ranges from : " << 0 << " to " << USHRT_MAX; cout << "\n\nint ranges from : " << INT_MIN << " to " << INT_MAX; cout << "\n\nunsigned int ranges from : " << 0 << " to " << UINT_MAX; cout << "\n\nlong int ranges from : " << LONG_MIN << " to " << LONG_MAX; cout << "\n\nunsigned long int ranges from : " << 0 << " to " << ULONG_MAX; cout << "\n\nlong long int ranges from : " << LLONG_MIN << " to " << LLONG_MAX; cout << "\n\nunsigned long long int ranges from : " << 0 << " to " << ULLONG_MAX; cout << "\n\n\nfloat ranges from : " << FLT_MIN << " to " << FLT_MAX; cout << "\n\nnegative float ranges from : " << -FLT_MIN << " to " << -FLT_MAX; cout << "\n\ndouble ranges from : " << DBL_MIN << " to " << DBL_MAX; cout << "\n\nnegative double ranges from : " << -DBL_MIN << " to " << +DBL_MAX; return 0; }
Producción:
char ranges from : -128 to 127 short char ranges from : -128 to 127 unsigned char ranges from : 0 to 255 short int ranges from : -32768 to 32767 unsigned short int ranges from : 0 to 65535 int ranges from : -2147483648 to 2147483647 unsigned int ranges from : 0 to 4294967295 long int ranges from : -9223372036854775808 to 9223372036854775807 unsigned long int ranges from : 0 to 18446744073709551615 long long int ranges from : -9223372036854775808 to 9223372036854775807 unsigned long long int ranges from : 0 to 18446744073709551615 float ranges from : 1.17549e-38 to 3.40282e+38 negative float ranges from : -1.17549e-38 to -3.40282e+38 double ranges from : 2.22507e-308 to 1.79769e+308 negative double ranges from : -2.22507e-308 to 1.79769e+308
Este artículo es una contribución de Manjeet Singh . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA