TIPOS DE DATOS BÁSICOS EN C

4 views
Skip to first unread message

Absolute Zero

unread,
Jul 21, 2005, 12:30:46 AM7/21/05
to apli...@googlegroups.com
En el estándar C89 se definen cinco tipos de datos básicos:
carácter, entero, real, real de doble precisión y sin valor.
Se declaran con char, int, float, double y void, respectivamente. Todos
los demás tipos de datos se basan en algunos de esos tipos. El tamaño
y el intervalo de estos tipos de datos varían con cada tipo de
procesador y de compilador. Sin embargo, en todos los casos un
carácter (char) es 1 byte. El tamaño de un entero (int) normalmente
es el mismo que el tamaño de una palabra de memoria en el entorno de
ejecución del programa. Para la mayoría de los entornos de 16 bits,
como DOS o Windows 3.1, un int ocupa 16 bits. Para la mayoría de los
entornos de 32 bits. Como Windows 95/98/NT/2000, un int ocupa 32 bits.
Sin embargo, no se deben hacer suposiciones sobre el tamaño si se
quiere que los programas sean portables al mayor número de entornos
posibles. Es importante saber que C solo estipula el intervalo mínimo
para cada tipo de dato, pero no su tamaño en bytes.

A los cinco tipos de datos básicos definidos por C89, C99 añade tres
más: _bool, _complex e _imaginary.

El formato exacto de los valores reales dependerá de cómo se hayan
implementado. Los valores del tipo char se usan normalmente para
guardar valores definidos en el juego de caracteres ASCII. Los valores
que estén fuera de ese intervalo pueden ser manejados de forma
diferente por por los distintos compiladores.

El intervalo de los tipos float y double dependerá del método
utilizado para representar los números reales en punto flotante. El
estándar de C especifica que el mínimo intervalo para un valor real
en punto flotante es de 1E-37 a 1E+37.

El tipo void, o bien declara explícitamente una función como que no
devuelve valor alguno, o crea punteros genéricos.

Absolute Zero

unread,
Jul 21, 2005, 12:50:13 AM7/21/05
to apli...@googlegroups.com
MODIFICADORES DE LOS TIPOS BÁSICOS:

A excepción del tipo void, los tipos de datos básicos pueden tener
distintos modificadores precediéndolos. Un modificador se usa para
alterar el significado del tipo base de forma que se ajusta más
precisamente a las necesidades de cada momento.
Los siguientes son los modificadores:
signed
unsigned
long
short

El tipo int se puede modificar con signed, short, long y unsigned, el
tipo char se puede modificar con unsigned y signed. El modificador long
también se puede aplicar a double.
En el estándar C99 se permite que long modifique a long, creando así
un long long.

Absolute Zero

unread,
Jul 21, 2005, 1:22:52 AM7/21/05
to apli...@googlegroups.com
El uso de signed con enteros, aunque se permite, es redundante porque
la declaración implícita de enteros asume números con signo. El uso
más importante de signed es para modificar char en implementaciones en
las que char no tenga signo por defecto.

La diferencia entre enteros con y sin signo esta en cómo se interpreta
el bit más significativo del entero. Si se especifica un entero con
signo, el compilador genera código que asume que el bit más
significativo va a ser usado como un indicador de signo. Si el
indicador de signo es 0, entonces el número es positivo, si es 1,
entonces el número es negativo.
En general, los números negativos se representan utilizando el método
de complemento a dos, que invierte todos los bits del número (excepto
el indicador de signo), suma 1 y pone el indicador de signo a 1.

Reply all
Reply to author
Forward
0 new messages