![]() |
|---|
![]() |
![]() |
![]() |
Tipos de datos primitivos en C++
| tipo | bytes en memoria | rango de datos |
| int | 2 | -32768 - 32767 |
| unsigned int | 2 | 0 - 65535 |
| long int | 4 | -2147483648 - 2147483647 |
| unsigned long | 4 | 0 - 4,294,967,295 |
| unsigned char | 1 | 0 - 255 |
| char | 1 | -128 - 127 |
| enum | 2 | -32768 - 32767 |
Las operaciones de divisi�n
entre enteros deben evitarse, pues si no es exacta la divisi�n el resultado quedar�
truncado. As�, 4/5 dar� 1 y se pierde el resto.
Caracteres
Un tipo especial de car�cter es la secuencia de escape, se utilizan para representar
caracteres de control o caracteres que no se imprimen. Una secuencia de escape est�
formada por la barra invertida (\) y un
car�cter. En la siguiente tabla se dan las secuencias de escape m�s utilizadas.
Car�cter
Secuencia de escape
retorno de carro
\r
tabulador horizontal
\t
nueva l�nea
\n
barra invertida
\\
Variables en punto flotante
| Tipo | tama�o en byte | rango de valores |
| float | 4 | 3.4 10-38 - 3.4 1038 |
| double | 8 | 1.7 10 -308 1.7 10 308 |
| long dobule | 10 | 3.4 10 4932 - 1.1 10 4932 |
Conceptualmente, hay infinitos n�meros de valores entre dos n�meros reales. Ya que
los valores de las variables se guardan en
un n�mero prefijado de bits, algunos valores no se pueden representar de forma precisa en
memoria. Por tanto, los valores de
las variables en coma flotante en un ordenador solamente se aproximan a los verdaderos
n�meros reales en matem�ticas. La
aproximaci�n es tanto mejor, cuanto mayor sea el tama�o de la memoria que reservamos
para guardarlo. De este hecho,
surgen las variables del tipo float y double.
Los resultados debemos situarlos en variables que estemos seguros que van a aceptar los valores que se obtengan. As�, si ponemos en una variable de tipo float 0.34* 10-38 el resultado ser� 0. No as� en una variable de tipo double donde el resultado ser� el correcto 3.4*10-39.
Los datos float y double tienen un gran rango de valores, pero debe�mos tener cuidado tambi�n en su uso, ya que la cantidad de cifras deci�males exactas es menor que las potencias.
Por ejemplo, si tenemos el n�mero
5.12345678901234567890
5.123456789012345
double
5.123456789012345
long double
Como vemos, tanto double
como long double tienen el mismo n�mero de
cifras significativas, pues lo que var�a es el tama�o de la potencia.
Conversi�n de tipos de datos:
Se pueden usar las palabras reservadas que son nombres de los tipos para convertir uno en otro. As�:
float f; int i = int (f); |
y se convierte f de flotante a entero. Similarmente puede hacerse con todos los otros tipos de datos.
El tipo de dato void. Este tipo de dato se utiliza para representar en aquellas funciones que no devuelven ning�n dato, haciendose de esa manera homogenea la sintaxis en la definici�n de las funciones. Tambi�n se utiliza para los punteros que en el momento de su declaraci�n no conocemos a que tipo de dato van a hacer referencia, utilizandose esencialmente para manejar las im�genes.
![]() |
![]() |