Vous êtes sur la page 1sur 4

Tipos de datos Interacción con el usuario →

Historia

En el lenguaje C estandarizado como C89, existían cuatro tipos de datos básicos que son:
los números enteros, los números reales, los caracteres, y los punteros. A partir del estándar
C99 se agregan: los valores lógicos (verdadero o falso) y los números complejos.

Estos tipos de datos son parte del lenguaje, y por ello se los considera primitivos. Más
adelante veremos que con el uso de estructuras y uniones es posible crear tipos compuestos
de datos a partir de estos tipos primitivos.

En este capítulo veremos los enteros, los reales y los caracteres. Más adelante se verán
otros tipos de datos más complejos, como son los vectores, las cadenas de caracteres, y los
punteros en general

Enteros
Los enteros son el tipo de dato más primitivo en C. Se usan para representar números
enteros. Pero siempre se pueden encontrar otras aplicaciones para los números enteros. En
general se pueden usar para representar cualquier variable discreta.

Los tipos de datos enteros son: short, int, long y long long.

Es decir que para el lenguaje C existen diferentes tamaños de números enteros que, según el
compilador y la plataforma de hardware, pueden tener desde 1 byte hasta 8 bytes (para más
detalles busca en la referencia).

Además, el lenguaje C hace la distinción de si el entero es con signo o sin signo (signed o
unsigned). La forma de declarar un entero es con uno de los tipos de datos que sean
enteros según el tamaño que se quiera. 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;
unsigned int a;
signed long a;
signed long long a = 10000000;

Todos los números son representados en memoria mediante una cadena de bits. En el caso
de los números con signo, el bit más significativo es el que se usa para representar el
signo. La representación de los números negativos se realiza mediante el complemento a
dos, que es una técnica que permite operar con los números negativos de forma lógica.

Sólo a modo de ejemplo, la representación en memoria de un -8 en una variable de 2 bytes,


entera, con signo sería la siguiente:
1000000000001000

Flotantes
Se denomina flotantes a los tipos de datos que representan a los números reales, ya que
utilizan un sistema de representación basado en la técnica de coma flotante, que permite
operar con números reales de diversas magnitudes, mediante un número decimal llamado
mantisa y un exponente que indica el orden de magnitud.

El tipo de dato flotante en lenguaje C sólo tiene dos tamaños: el float y el double, que son
4 bytes y 8 bytes respectivamente. Se los puede utilizar tanto para representar números
decimales, como para representar números enteros con un orden de magnitud muy grande.

La forma de declarar una variable flotante es escribiendo en una línea uno de los tipos de
datos flotantes y a continuación el nombre de la variable y tal vez algún valor que se les
quiera dar.

Algunos ejemplos:

float a;
double a = 1e23;
double a = 3.1416;
float a = 4e-9;
double a = -78;

Hay que tener en cuenta que aunque los valores flotantes son más convenientes para
algunas aplicaciones, hay casos en los que se prefieren los enteros. Esto se debe a que los
números flotantes no necesariamente tienen soporte de hardware, en particular en las
plataformas integradas. Una alternativa que se utiliza en estas situaciones es interpretar los
enteros como decimales de forma que 150 se interprete como 1.5 y 2345 como 23.45.

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 número. El procedimiento para almacenar un número
en una variable flotante es el siguiente:

1. Se convierte a binario la parte entera.


2. Se coloca el signo en el bit más significativo de la misma manera que en los enteros
(1 para el - y 0 para el +).
3. Se mueve la coma (en la representación binaria de la parte entera) hasta que esté a la
derecha del primer uno y éste se descarta (el uno más significativo). El valor del
exponente será el número de posiciones que se movió la coma. El exponente usa la
representación de un entero con complemento a dos.
4. Se convierte en binario la parte decimal del número. Esto usando el peso de los bits.
el bit decimal más 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 sólo 1 byte de tamaño. Este
tipo se utiliza para representar los 255 caracteres de la tabla de caracteres del sistema. El
tipo char es también un tipo entero, ya que puede tomar valores de 0 a 255.

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';
char a = 48;

Como puedes ver, se le puede asignar un número a una variable char, ya que se trata de un
tipo entero. En algunas situaciones particulares se utiliza el tipo char para contadores,
porque permite que ocupen sólo un byte en memoria.

Es importante notar que con la llegada de la codificación 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 representación de todos los caracteres. Por ello, el estándar C99 introduce el tipo
wchar que puede ocupar más de 1 byte, según sea necesario para la codificación utilizada
por el sistema.

Tipos de datos
C++ tiene los siguientes tipos fundamentales:

• Caracteres: char (también es un entero), wchar_t


• Enteros: short int, int, long int, long long int
• Números en coma floante: float, double, long double
• Booleanos: bool
• Vacío: void

El modificador unsigned se puede aplicar a enteros para obtener números sin signo (por
omisión los enteros contienen signo), con lo que se consigue un rango mayor de números
naturales.

los tipos de datos son:


1)simples :
*numericos -enteros o reales
*alfanumericos
*logicos -falso o verdadero
2)estructurados :
*arreglos
*registros
*archivos
*apuntadores
______________________________________…
los tipos d operadores son:
*aritmeticos: +,-,*,/,potencia, raiz cuadrada, porciento

*relacionales:mayor que,menor que,igual que,diferente que, mayor,menor

*logicos:Y(and), O(or), NO(not).

Vous aimerez peut-être aussi