top of page

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

Los límites para los tipos de enteros se enumeran en la siguiente tabla. Estos límites se definen en el archivo de cabecera estándar LIMITS.H. Microsoft C también permite la declaración de variables enteras de tamaño, que son tipos integrales de tamaño de 8, 16 o 32 bits. Para obtener más información sobre enteros de tamaño, consulte Tipos de :

Límites de constantes enteras

Constante

Sentido

Valor

CHAR_BIT

Número de bits en la variable más pequeña que no es un campo de bits.

8

SCHAR_MIN

Valor mínimo para una variable de tipo firmado. .

-128

SCHAR_MAX

Valor máximo para una variable de tipo firmado char .

127

UCHAR_MAX

Valor máximo para una variable de tipo unsigned char .

255 (0xff)

CHAR_MIN

Valor mínimo para una variable de tipo char .

-128; 0 si se usa la opción / J

CHAR_MAX

Valor máximo para una variable de tipo char .

127; 255 si se usa la opción / J

MB_LEN_MAX

Número máximo de bytes en una constante de caracteres múltiples.

5

SHRT_MIN

Valor mínimo para una variable de tipo short .

-32768

SHRT_MAX

Valor máximo para una variable de tipo short .

32767

USHRT_MAX

Valor máximo para una variable de tipo unsigned short .

65535 (0xffff)

INT_MIN

Valor mínimo para una variable de tipo int .

-2147483647 - 1

INT_MAX

Valor máximo para una variable de tipo int .

2147483647

UINT_MAX

Valor máximo para una variable de tipo unsigned int .

4294967295 (0xffffffff)

LONG_MIN

Valor mínimo para una variable de tipo long. .

-2147483647 - 1

LONG_MAX

Valor máximo para una variable de tipo long .

2147483647

ULONG_MAX

Valor máximo para una variable de tipo unsigned long .

4294967295 (0xffffffff)

 

 

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

<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 utilizados.

Los límites para los tipos fundamentales de punto flotante se definen en <cfloat> (<float.h>). 
Los límites para los tipos integrales específicos de ancho y otros tipos typedef se definen en <cstdint> (<stdint.h>).

Diferentes constantes macro son:

1. CHAR_MIN:

Valor mínimo para un objeto de tipo char

El valor de CHAR_MIN es -127 (-2 7 +1) o menos * o 0

2. CHAR_MAX:

Valor máximo para un objeto de tipo char

El valor de CHAR_MAX es 127 (2 7 -1) o 255 (2 8 -1) o mayor *   

3. SHRT_MIN:

Valor mínimo para un objeto de tipo short int.

El valor de SHRT_MIN es -32767 (-2 15 +1) o menos *

4. SHRT_MAX:

   

Valor máximo para un objeto de tipo short int

El valor de SHRT_MAX es 32767 (2 15 -1) o mayor *

5. USHRT_MAX:

   

Valor máximo para un objeto de tipo unsigned short int   

El valor de USHRT_MAX es 65535 (2 16 -1) o mayor *

6. INT_MIN:

Valor mínimo para un objeto de tipo int   

El valor de INT_MIN es -32767 (-2 15 +1) o menos *

7. INT_MAX:

Valor máximo para un objeto de tipo int   

El valor de INT_MAX es 32767 (2 15 -1) o mayor *

8. UINT_MAX:

Valor máximo para un objeto de tipo unsigned int   

El valor de UINT_MAX es 65535 (2 16 -1) o mayor *

9. LONG_MIN:

Valor mínimo para un objeto de tipo long int   

El valor de LONG_MIN es -2147483647 (-2 31 +1) o menos *

10. LONG_MAX:

Valor máximo para un objeto de tipo long int   

El valor de LONG_MAX es 2147483647 (2 31 -1) o mayor *

11. ULONG_MAX:

Valor máximo para un objeto de tipo unsigned long int   

El valor de ULONG_MAX es 4294967295 (2 32 -1) o mayor *

12. LLONG_MIN:

Valor mínimo para un objeto de tipo long long int   

El valor de LLONG_MIN es -9223372036854775807 (-2 63 +1) o menos *

13. LLONG_MAX:

Valor máximo para un objeto de tipo long long int   

El valor de LLONG_MAX es 9223372036854775807 (2 63 -1) o mayor *

14. ULLONG_MAX:

Valor máximo para un objeto de tipo unsigned long long int   

El valor de ULLONG_MAX es 18446744073709551615 (2 64 -1) o mayor *

NOTA ** el valor real depende de la implementación del sistema y de la biblioteca en particular, pero 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 la verificación del desbordamiento de enteros y la computación mínima o máxima en una matriz de elementos muy grandes o muy pequeños

 

 

<clocale> (locale.h) en c++

 

 

 El encabezado locale.h define la configuración específica de la ubicación, como los formatos de fecha y los símbolos de moneda. Encontrará varias macros definidas junto con una estructura de estructura importante y dos funciones importantes que se enumeran a continuación.

Macros de biblioteca

Las siguientes son las macros definidas en el encabezado y estas macros se utilizarán en las dos funciones que se enumeran a continuación:

No Señor.

Macro y Descripción

1

LC_ALL

Establece todo.

2

LC_COLLATE

Afecta a las funciones strcoll y strxfrm.

3

LC_CTYPE

Afecta todas las funciones de los personajes.

4

LC_MONETARY

Afecta la información monetaria proporcionada por la función localeconv.

5

LC_NUMERIC

Afecta el formato de punto decimal y la información proporcionada por la función localeconv.

6

LC_TIME

Afecta la función strftime.

Funciones de la biblioteca

Las siguientes son las funciones definidas en el encabezado locale.h -

No Señor.

Función descriptiva

1

char * setlocale (int categoría, const char * locale)

Establece o lee información dependiente de la ubicación.

2

struct lconv * localeconv (void)

Establece o lee información dependiente de la ubicación.

Estructura de la biblioteca

typedef struct {

   char *decimal_point;

   char *thousands_sep;

   char *grouping;  

   char *int_curr_symbol;

   char *currency_symbol;

   char *mon_decimal_point;

   char *mon_thousands_sep;

   char *mon_grouping;

   char *positive_sign;

   char *negative_sign;

   char int_frac_digits;

   char frac_digits;

   char p_cs_precedes;

   char p_sep_by_space;

   char n_cs_precedes;

   char n_sep_by_space;

   char p_sign_posn;

   char n_sign_posn;

} lconv

 

El lenguaje C es compatible con la configuración específica de la localización, como los formatos de fecha específicos de la cultura o los símbolos de moneda específicos del país. 

Cada sistema y la implementación específica del compilador pueden proporcionar diferentes opciones de configuraciones regionales para ser seleccionadas (utilizando la función setlocale ), pero al menos dos configuraciones regionales están disponibles para elegir para cualquier programa C:

El "C"local es el local mínimo. Es una ubicación bastante neutral que tiene la misma configuración en todos los sistemas y compiladores, y por lo tanto, los resultados exactos de un programa que usa esta configuración son predecibles. Esta es la configuración regional utilizada de forma predeterminada en todos los programas de C.

 

La configuración regional predeterminada del sistema (que se especifica mediante una cadena C vacía: "" ). Es la configuración regional proporcionada por el entorno donde se ejecuta la aplicación. Esto generalmente contiene más información de localización que la configuración regional "C".


Este encabezado declara la estructura. lconv y las funciones setlocale y localeconv, junto con varias macros para ser utilizadas con ellas. Estos se utilizan para definir información específica de la localidad. 

Observe que la configuración regional afecta el comportamiento de muchas funciones dentro de la biblioteca C estándar:

En <cstring>( <string.h>), funcionesstrcoll y strxfrm Están afectados por las reglas de transformación de caracteres.

En <cctype>( <ctype.h>), todas las funciones exceptoisigigito y isxdigit se ven afectados por el conjunto de caracteres extendido seleccionado.

En <cstdio>( <stdio.h>), las operaciones de entrada / salida con formato se ven afectadas por las reglas de transformación de caracteres y el juego de caracteres de punto decimal en la configuración de formato numérico.

En <ctime>( <time.h>), la funcióntiempo fuerte se ve afectada por la configuración de formato de hora.

En este encabezado, afecta el valor devuelto por sus funciones. setlocale y localeconv.


También se proporciona cierta información de configuración regional a los programas para representar mejor su salida de una manera sensible al entorno local (localeconv).

 

Los tipos

estructura lconv

Información de formato para valores numéricos 


 

Funciones

setlocale

Establecer o recuperar locales: 

localeconv

Obtener parámetros de formato de configuración regional para cantidades

 

Trabajos en el c++

​

#include<iostream>

#include <bits/stdc++.h>

#include<climits>

#include <stdio.h>      /* printf */

#include <locale.h>     //LOCALIZACION DE MONEDA DE TU REGION

using namespace std;

int main() {

            int x;

  

   int a = CHAR_BIT*sizeof(x);

   cout<<"INTRODUSCA VALOR PARA X:",cin>>x;

   stack<bool> s;

   cout << "el numero es  : " << x << endl;

   for (int i=1; i<=a; i++) {

      s.push(x%2);

      x = x/2;

   }  

   cout << "el numero de  bits es a un byte : " << CHAR_BIT << endl;

   for (int i=1; i<=a; i++) {

      cout << s.top();

      s.pop();

      if (i % CHAR_BIT == 0)

         cout << " ";

   }

   cout << "\n\nEl valor mínimo de short int.\n\n\n\n\n :" << SHRT_MIN;

 

            setlocale (LC_MONETARY,"");

  struct lconv * lc;

  lc=localeconv();

  printf ("MONEDA LOCAL DE SU PAIS SIMBOLO: %s\n",lc->currency_symbol);

  printf ("SImbolo internacional de moneda: %s\n\IIIEE-2\n",lc->int_curr_symbol);

  return 0; }

bibliotecas tema:

 

24.- <limits.h>

25.- <locale.h>

Captura 7.PNG
bottom of page