2.1 - Tipos de Datos
2.1 - Tipos de Datos
2.1 - Tipos de Datos
René Castro
1 de 5
PROGRAMACIÓN I Preparado por: Ing. René Castro
Colectivamente, estos son referidos como tipos de datos simples. Son llamados simples porque
consisten en un solo valor (en otras palabras, no son compuestos por dos o más valores). Forman
la base fundamental del sistema de tipos de C#, elementos de datos de bajo nivel sobre los cuales
opera un programa. Los tipos de datos simples también son llamados tipos de datos primitivos.
NOTA: Adicional a los tipos de datos simples. C# define tres otras categorías de tipos de datos por
valor. Estos son enumeraciones, estructuras y tipos nulos.
byte 8 0 a 255
ushort 16 0 a 65,535
uint 32 0 a 4,294,967,295
long 64 -9,223,372,036,854,775,808 a
9,223,372,036,854,775,807
ulong 64 0 a 18,446,744,073,709,551,615
Como se muestra en la tabla, C# define ambas versiones (con y sin signo) para varios tipos de
datos enteros. La diferencia entre los enteros con signo y sin signo es la forma como el bit más
significativo es interpretado. Si un entero con signo es especificado, entonces el compilador C#
generará código que asume que el bit más significativo será usado como la bandera de signo. Si la
bandera de signo es 0, entonces el número es positivo; si es 1, entonces el número es negativo.
Los números enteros con signo son importantes para una gran mayoría de algoritmos, pero sólo
2 de 5
PROGRAMACIÓN I Preparado por: Ing. René Castro
tienen la mitad de la magnitud de sus parientes sin signo. Por ejemplo, para el tipo de datos short,
aquí tiene al número 32,767:
0111111111111111
Para un valor con signo, si el bit más significativo fuera establecido en 1, el número sería entonces
interpretado como negativo. Sin embargo, si declara este número como ushort, entonces cuando
el bit más significativo sea establecido en 1, el número se convertiría en 65,535.
Ejemplo:
long pulgadas;
long pies;
pies = 485216;
pulgadas = pies * 12;
Console.WriteLine(pies + " pies son " + pulgadas + " pulgadas");
De los dos, el tipo de datos double es el más comúnmente usado. Una razón para esto es que
muchas de las funciones matemáticas de la biblioteca de clases de C# usa valores double.
Ejemplo:
Double radio;
Double area;
radio = 4.0;
area = 3.14416 * Math.Pow(radio,2);
Console.WriteLine("El area de un circulo de radio " + radio + " es " + area);
3 de 5
PROGRAMACIÓN I Preparado por: Ing. René Castro
Como sabe, la aritmética de punto flotante normal está sujeta a una variedad de errores de
redondeo cuando es aplicada a valores decimales. El tipo de datos decimal elimina esos errores y
puede representar con precisión hasta 28 espacios decimales (o 29 espacios en algunos casos).
Esta habilidad de representar valores decimales sin errores de redondeo lo hace especialmente
útil para cálculos que involucran dinero.
Ejemplo:
decimal precio;
decimal descuento;
decimal precio_descuento;
precio = 19.95m;
descuento = 0.15m;
precio_descuento = precio - (precio * descuento);
Console.WriteLine("El precio con descuento es: $" + precio_descuento);
Observe que las constantes decimales están seguidas por el sufijo m. Esto es necesario porque sin
el sufijo, estos valores serían interpretados como constantes de punto flotante estándar, lo cual no
es compatible con el tipo de datos decimal.
char 16 0 a 65,535
4 de 5
PROGRAMACIÓN I Preparado por: Ing. René Castro
A pesar de que char es definido por C# como un tipo de datos entero, no puede ser libremente
mezclado con enteros en todo caso. Esto es debido a que no hay una conversión automática de
tipos de datos entre integer y char.
Ejemplos:
1. char car1;
car1 = 'a';
2. char car2 = 'b';
3. char car3 = '\u0066';
NOTAS:
1. Puede obtener un listado completo de caracteres Unicode en las direcciones
siguientes:
https://en.wikipedia.org/wiki/List_of_Unicode_characters
http://unicode.org/charts/
2. Puede ampliar sobre codificación de caracteres en la dirección siguiente:
https://en.wikipedia.org/wiki/Character_encoding
5 de 5