<climits> (limits.h) en C/C++

El tamaño máximo y mínimo de los valores integrales son bastante útiles o, en términos simples, los límites de cualquier tipo integral juegan un papel importante en la programación. En lugar de recordar estos valores, se pueden usar diferentes macros.

<climits>(limits.h) define tamaños de tipos integrales. 
Este encabezado define constantes con los límites de los tipos integrales fundamentales para el sistema específico y la implementación del compilador utilizada.
Los límites para los tipos fundamentales de punto flotante se definen en <cfloat> (<float.h>). 
Los límites para tipos integrales de ancho específico y otros tipos typedef se definen en <cstdint> (<stdint.h>).

Las diferentes macro constantes son:

1. CHAR_MIN: 

Minimum value for an object of type char
Value of CHAR_MIN is either -127 (-27+1) or less* or 0

2. CHAR_MAX:  

Maximum value for an object of type char
Value of CHAR_MAX is either 127 (27-1) or 255 (28-1) or greater*    

3. SHRT_MIN:  

Minimum value for an object of type short int
Value of SHRT_MIN is -32767 (-215+1) or less*

4. SHRT_MAX:  

Maximum value for an object of type short int
Value of SHRT_MAX is 32767 (215-1) or greater*

5. USHRT_MAX:  

Maximum value for an object of type unsigned short int    
Value of USHRT_MAX is 65535 (216-1) or greater*

6. INT_MIN:  

Minimum value for an object of type int    
Value of INT_MIN is -32767 (-215+1) or less*

7. INT_MAX: 

Maximum value for an object of type int    
Value of INT_MAX is 32767 (215-1) or greater*

8. UINT_MAX:  

Maximum value for an object of type unsigned int    
Value of UINT_MAX is 65535 (216-1) or greater*

9. LARGO_MIN:  

Minimum value for an object of type long int    
Value of LONG_MIN is -2147483647 (-231+1) or less*

10. LONG_MAX:  

Maximum value for an object of type long int    
Value of LONG_MAX is 2147483647 (231-1) or greater*

11. ULONG_MAX:  

Maximum value for an object of type unsigned long int    
Value of ULONG_MAX is 4294967295 (232-1) or greater*

12. LLONG_MIN :  

Minimum value for an object of type long long int    
Value of LLONG_MIN is -9223372036854775807 (-263+1) or less*

13. LARGO_MÁX:  

Maximum value for an object of type long long int    
Value of LLONG_MAX is 9223372036854775807 (263-1) or greater*

14. LARGO_MÁXIMO:  

Maximum value for an object of type unsigned long long int    
Value of ULLONG_MAX is 18446744073709551615 (264-1) or greater*

NOTA** el valor real depende del sistema en particular y la implementación de la biblioteca, pero debe reflejar los límites de estos tipos en la plataforma de destino.
Los valores de su máquina pueden depender de si es una máquina de 32 bits o una máquina de 64 bits.

Compatibilidad: 
LLONG_MIN, LLONG_MAX y ULLONG_MAX se definen para bibliotecas que cumplen con el estándar C de 1999 o posterior (que solo incluye el estándar C++ desde 2011: C++11).
Dos aplicaciones de estas MACROS son verificar el desbordamiento de enteros y calcular el mínimo o el máximo en una array de elementos muy grandes o muy pequeños.

A continuación, el programa mostrará los valores respectivos para su máquina:  

C++

// C++ program to demonstrate working of
// constants in climits.
#include <climits>
#include <iostream>
 
using namespace std;
 
int main()
{
    cout << "CHAR_MIN : " << CHAR_MIN << endl;
    cout << "CHAR_MAX : " << CHAR_MAX << endl;
    cout << "SHRT_MIN : " << SHRT_MIN << endl;
    cout << "SHRT_MAX : " << SHRT_MAX << endl;
    cout << "USHRT_MAX : " << USHRT_MAX << endl;
    cout << "INT_MIN : " << INT_MIN << endl;
    cout << "INT_MAX : " << INT_MAX << endl;
    cout << "UINT_MAX : " << UINT_MAX << endl;
    cout << "LONG_MIN : " << LONG_MIN << endl;
    cout << "LONG_MAX : " << LONG_MAX << endl;
    cout << "ULONG_MAX : " << ULONG_MAX << endl;
    cout << "LLONG_MIN : " << LLONG_MIN << endl;
    cout << "LLONG_MAX : " << LLONG_MAX << endl;
    cout << "ULLONG_MAX : " << ULLONG_MAX << endl;
    return 0;
}

Salida (dependiente de la máquina): 

CHAR_MIN : -128
CHAR_MAX : 127
SHRT_MIN : -32768
SHRT_MAX : 32767
USHRT_MAX : 65535
INT_MIN : -2147483648
INT_MAX : 2147483647
UINT_MAX : 4294967295
LONG_MIN : -9223372036854775808
LONG_MAX : 9223372036854775807
ULONG_MAX : 18446744073709551615
LLONG_MIN : -9223372036854775808
LLONG_MAX : 9223372036854775807
ULLONG_MAX : 18446744073709551615

Publicación traducida automáticamente

Artículo escrito por shubham_rana_77 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *