Como hemos estado aprendiendo a programar utilizando el lenguaje C no nos hemos quedado a hilar fino en los tipos de datos primitivos.
Cada vez que necesitamos almacenar un entero utilizamos el tipo int, también dijimos que el tipo char permite almacenar un entero pequeño, pero el lenguaje C permite definir distintos tipos de enteros según la capacidad máxima a almacenar y si necesitamos guardar el signo.
Hay cuatro modificadores de tipo para las variables enteras: signed, unsigned, short y long que nos permiten ampliar los tipos enteros en el lenguaje C.
Variables de tipo entera.
- char (permite almacenar un valor entero entre -128 y 127 o entre 0 y 255 dependiendo del compilador utilizado)
- signed char (permite almacenar un valor entero entre [-128 , 127])
- unsigned char (permite almacenar un valor entero entre [0 , 255])
- signed short int ( permite almacenar un valor como mínimo entre[-32767 , 32767])
Cuando definimos una variable de este tipo podemos resumirla poniendo solo short o short int o signed short. - unsigned short int ( permite almacenar un valor como mínimo entre[0 , 65535])
Cuando definimos una variable de este tipo podemos resumirla poniendo solo unsigned short. - signed int (permite almacenar un valor como mínimo entre [-2147483648 , 2147483647]
Cuando definimos una variable de este tipo podemos resumirla poniendo solo int
Recordemos que hasta ahora siempre utilizamos este tipo de dato para almacenar enteros, pero de ahora en más podemos utilizar la más eficiente según la necesidad de almacenamiento. - unsigned int (permite almacenar un valor como mínimo entre [0 , 4294967295]
Cuando definimos una variable de este tipo podemos resumirla poniendo solo unsigned - signed long int (permite almacenar un valor como mínimo entre [-2147483648 , 2147483647]
Cuando definimos una variable de este tipo podemos resumirla poniendo solo long o long int o signed long - unsigned long int (permite almacenar un valor como mínimo entre [0 , 4294967295]
Cuando definimos una variable de este tipo podemos resumirla poniendo solo unsigned long - signed long long int (permite almacenar un valor como mínimo entre [?9223372036854775807 , 9223372036854775807]
Cuando definimos una variable de este tipo podemos resumirla poniendo solo long long o long long int o signed long long - unsigned long long int (permite almacenar un valor como mínimo entre [0 , 18446744073709551615]
Cuando definimos una variable de este tipo podemos resumirla poniendo solo unsigned long long
Problema 1:
Definir variables de tipo entera, almacenar valores por asignación y mostrar su contenido
Programa: programa182.c

Como vemos tenemos que pasar distintos valores luego del caracter % en la función printf.
Si queremos conocer cual es el valor máximo y mínimo para cada uno de los tipos de datos enteros del lenguaje C podemos ejecutar el siguiente programa:
Programa: programa183.c
El archivo de inclusión limits.h tiene una serie de macros con los valores máximos y mínimos definidos para nuestro compilador.
El resultado de ejecutar este programa con el compilador GCC en la plataforma Windows 10 ofrece los siguientes resultados:

Debemos elegir la variable más adecuada según el valor máximo y mínimo a guardar para que nuestro programa sea más eficiente en cuanto a espacio para reservar como el tiempo de procesamiento de dichas variables.
Si queremos saber cuantos bytes se necesitan reservar para cada uno de los tipos de variables podemos ejecutar el programa:
Programa: programa184.c
El resultado de ejecutar este programa con el compilador GCC en la plataforma Windows 10 ofrece los siguientes resultados:

Como podemos ver definir una variable de tipo long long int requiere reservar 8 bytes para el almacenamiento del entero.
No dispusimos con el modificador unsigned ya que el tamaño de la variable sigue siendo igual.
Variables de tipo decimal.
Cuando queremos almacenar un valor con parte decimal hemos estado definiendo variables de tipo float.
En el lenguaje C podemos definir variables decimales de tipo:
- float
- double
- long double
Se diferencian en la precisión como almacenan el valor real. La menos precisa es el tipo float, le sigue double y finalmente la más precisa es long double.
Problema 2:
Imprimir cuantos bytes requieren cada uno de los tipos de datos decimales que tiene el lenguaje C.
Programa: programa185.c
El resultado de ejecutar este programa con el compilador GCC en la plataforma Windows 10 ofrece los siguientes resultados:

No hay comentarios:
Publicar un comentario