You are on page 1of 5

2013

Lenguaje C
Tipos de Datos
Ciertamente es muy importante conocer la sintaxis pero es un conocimiento incompleto si no se poseen nocin de tipos de datos en este lenguaje de programacin ni sus utilidades.

N.G.G 01/11/2013

Enteros Los enteros son el tipo de dato ms primitivo en C. Son utilizados para representar nmeros enteros. Los tipos de datos enteros son: short, int y long, cada uno sealando un nmero entero de un tamao o capacidad establecido. Segn el compilador y la plataforma de hardware, cada uno de estos tipos de dato puede ocupar desde 1 byte hasta 8 bytes en memoria. Adems, el lenguaje C hace la distincin de si el entero es con signo (signed) o sin signo (unsigned). En caso de que no se declare si es con signo o sin signo, se toma con signo. Algunos ejemplos de declaraciones de enteros: int a=0; short a; signed long a; Todos los nmeros son representados en memoria a travs de una cadena de bits. En el caso de los nmeros con signo, el bit ms importante es el aquel usado para representar el signo. Por ejemplo, la representacin en memoria del nmero -8 en una variable de 2 bytes, entera, con signo, sera la siguiente: 1111111111111000 Flotantes Se llaman flotantes a los tipos de datos que representan a los nmeros reales, ya que usa un sistema de representacin fundado en la tcnica de coma flotante, que admite operar con nmeros reales de diversas dimensiones. El tipo de dato flotante en lenguaje C tiene: float, double y longdouble, que son 4 bytes, 8 bytes y 10 bytes respectivamente. Pueden ser utilizados tanto para representar nmeros decimales, como para representar nmeros enteros con un orden de magnitud muy grande.

La forma de declarar una variable flotante es escribiendo en una lnea uno de los tipos de datos flotantes y a continuacin el nombre de la variable y tal vez algn valor que se les quiera dar. Algunos ejemplos: Longdouble a; double a = 3.1416; float a =4.50; double a = -78; Se debe tomar en cuenta que a pesar de que un dato de tipo flotante no siempre debe ser usado; esto se debe a que los nmeros flotantes no necesariamente tienen soporte de hardware, en particular en las plataformas integradas. Para el caso de los flotantes de 4 bytes, se utiliza 1 bit para el signo, 8 bits para el exponente y 23 bits para el valor del nmero. El procedimiento para almacenar un nmero en una variable flotante es el siguiente: 1. Se convierte a binario la parte entera. 2. Se coloca el signo en el bit ms significativo de la misma manera que en los enteros (1 para el - y 0 para el +). 3. Se mueve la coma (en la representacin binaria de la parte entera) hasta que est a la derecha del primer uno y ste se descarta (el uno ms significativo). El valor del exponente ser el nmero de posiciones que se movi la coma. El exponente usa la representacin de un entero con complemento a dos. 4. Se convierte en binario la parte decimal del nmero. Esto usando el peso de los bits. el bit decimal ms significativo vale 1/2, el siguiente vale 1/4, el otro 1/8, el otro 1/16 y as hasta completar lo que falta para los 23bits del valor. 5. Se concatena todo y ese es el valor flotante representado en memoria.

Caracteres Los caracteres se representan utilizando el tipo char, que tiene slo 1 byte de tamao. Este tipo se utiliza para representar los 256 caracteres de la tabla de caracteres del sistema. El tipo char es tambin un tipo entero, ya que puede tomar valores de 0 a 255. Por lo tanto tambin puede ser signed o unsigned. En cuanto a la forma de declarar variables de tipo char es la misma forma que con los otros tipos. char a; char a = 's'; unsigned char a = 48; Como puedes ver, se le puede asignar un nmero a una variable char, ya que se trata de un tipo entero. En muchas situaciones se utiliza el tipo char para almacenar nmeros pequeos, ya que ocupa en memoria solamente un byte. Es importante notar que con la llegada de la codificacin UTF-8, los caracteres de los diversos idiomas pueden ocupar 1, 2, 3 o 4 bytes, de modo que el tipo char ya no alcanza para la representacin de todos los caracteres posibles. Por ello, el estndar C99 introduce el tipo wchar que puede ocupar ms de 1 byte, segn sea necesario para la codificacin utilizada por el sistema.

Tipos de Datos Enteros

Tipo Char Int Long

Tamao en Bytes 1 2 4

Tamao en Bits 8 16 32

Valor Mnimo

Valor Mximo

-128 -32768 -231

127 32767 231-1

Tipos de Datos de Coma Flotante

Tipo Float Double LongDouble

Tamao en Bytes 4 8 10

Tamao en Bits 32 64 80

Valor Mnimo -3.4x10-38 -1.7x10-308 -3.4x10-4932

Valor Mximo 3.4x10+38 1.7x10+308 3.4x10+4932

You might also like