Sie sind auf Seite 1von 10

DESARROLLO DE SOFTWARE

PROGRAMACIN NET I UNIDAD 1 ACTIVIDAD 3 CUADRO COMPARATIVO DE LOS TIPOS DE DATOS Y OPERADORES FACILITADOR: MARTN ANTONIO SANTOS ROMERO NOMBRE: FRANCISCO JOS CHVEZ ESCALANTE MATRICULA: AL10506079

PROGRAMACIN .NET I UNIDAD 1 Actividad 3 - Cuadro comparativo de los tipos de datos y operadores AL10506079 Francisco Jos Chvez Escalante

Tipos de datos comunes en C# Tipo Descripcin Tamao de Memoria Utilizada


1 byte

sbyte

byte

short

ushort

int

uint

long

ulong

char

Las variables con tipo sbyte pueden contener nmeros enteros de 8 bits con signo. La s de sbyte significa 'con signo', lo que quiere decir que el valor de la variable puede ser positivo o negativo. El menor valor posible para una variable sbyte es 128 y el mayor es 127. Las variables con tipo byte pueden contener nmeros enteros de 8 bits sin signo. A diferencia de las variables sbyte, las variables byte no tienen signo y slo pueden contener nmeros positivos. El valor ms pequeo posible para una variable byte es O; el valor ms alto es 255. Las variables con tipo short pueden contener nmeros enteros de 16 bits con signo. El menor valor posible para una variable short es -32,768; el valor ms alto es 32,767. Las variables con tipo ushort pueden contener nmeros enteros de 16 bits sin signo. La 'u' de ushort significa sin signo. El menor valor posible para una variable ushort es O; el valor ms alto es 65,535. Las variables con tipo in t pueden contener nmeros enteros de 32 bits con signo. El menor valor posible para una variable int es -2,147,483,648; el valor ms alto es 2,147,483,647. Las variables con tipo uint pueden contener nmeros enteros de 32 bits sin signo. La 'u' en uint significa sin signo. El menor valor posible para una variable uint variable es O; el valor ms alto posible es 4.294.967.295. Las variables con tipo long pueden contener nmeros enteros de 64 bits con signo. El menor valor posible para una variable long es -9.223.372.036.854.775.808 el valor ms alto es 9.223.372.036.854.775.807. Las variables con tipo ulong pueden contener nmeros enteros de 64 bits sin signo. La 'u' en ulong significa sin signo. El menor valor posible para una variable ulong es O; el valor ms alto es 18.446.744.073.709.551.615. Las variables con tipo char pueden contener caracteres Unicode de 16 bits. El menor valor posible para una variable char es el carcter Unicode cuyo valor es O; el valor ms alto

1 byte

2 bytes

2 bytes

4 bytes

4 bytes

8 bytes

8 bytes

2 bytes

PROGRAMACIN .NET I UNIDAD 1 Actividad 3 - Cuadro comparativo de los tipos de datos y operadores AL10506079 Francisco Jos Chvez Escalante

float

double

decimal

bool

posible es el carcter Unicode cuyo valor es 65.535. Las variables con tipo float pueden contener un valor de coma flotante de 32 bits con signo. El menor valor posible para una variable float es aproximadamente 1.5 por 10 elevado a 45; el valor ms alto es aproximadamente 3.4 por 10 elevado a 38. Las variables con tipo double pueden contener un valor de coma flotante de 64 bits con signo. El menor valor posible para una variable double es aproximadamente 5 por 10 elevado a 324; el valor ms alto es aproximadamente 1,7 por 10 elevado a 308. Las variables con tipo decimal pueden contener un valor de coma flotante de 128 bits con signo. El menor valor posible para una variable decimal es aproximadamente 1 por 10 elevado a 28; el valor ms alto es aproximadamente 7.9 por 10 elevado a 28. Las variables de tipo decimal son buenas para clculos financieros. Las variables con tipo bool pueden tener uno de los dos posibles valores: true o falseo El uso del tipo bool es una de las partes en las que C# se aparta de su legado C y C++. En ellos, el valor entero O era sinnimo de false y cualquier valor que no fuese cero era sinnimo de true. Sin embargo, en C# los tipos no son sinnimos. No puede convertir una variable entera en su valor equivalente bool. Si quiere trabajar con una variable que necesita tener una condicin verdadera o falsa, use una variable bool y no una variable int.

4 bytes

8 bytes

16 bytes

1 byte

datetime

string

Almacena un instante de tiempo que va comprendido 8 bytes desde 01/01/0001 12:00:00 am a 31/12/9999 11:59:59 pm Almacena una secuencia de caracteres 2 bytes por carcter

Se estar preguntando por qu C# admite todos estos tipos de variables diferentes. Los valores ms pequeos pueden colocarse en variables de mayores tipos; por lo tanto por qu usar los tipos ms pequeos? Si una variable short puede contener valores desde 32.768 hasta 32.767, y una grande puede contener valores desde 9.223.372.036.854.775.808 hasta 9.223.372.036.854.775.807, entonces es evidente que todos los posibles valores short pueden ser almacenados en una variable long. Entonces, para qu sirven los tipos short? Por qu no usar un variable long para todo? Una respuesta es el consumo de memoria. Una variable long puede contener valores ms grandes, pero tambin necesita ms memoria. Una variable short usa 16 bits (dos bytes), mientras que una grande usa 32 bits (cuatro bytes de memoria). Si va a trabajar con valores que no van ms all del lmite de una variable short, use la variable short. Es una buena costumbre usar toda la memoria que necesite, pero no usar ms de la necesaria.

PROGRAMACIN .NET I UNIDAD 1 Actividad 3 - Cuadro comparativo de los tipos de datos y operadores AL10506079 Francisco Jos Chvez Escalante

Operadores Estos operadores estn puestos en orden de precedencia, es decir, en el caso de haber una expresin con varios de ellos, se ejecutan por ese orden. Los operadores primarios son operadores de expresin.

Operadores
(expresin)

Uso
Control de precedencia

Tipo
Primario

Descripcin
En el caso de (expresin), los operadores son realmente los parntesis. Sirven para modificar la precedencia y darle prioridad a la expresin que se encuentra dentro del parntesis. Los operadores de incremento (++) y decremento (--) sirven para incrementar o disminuir el valor de una variable en una unidad. Esto lo realiza despus de realizar cualquier operacin. Por ejemplo: a = ++num; b = a--; Los operadores unitarios + y - sirven sencillamente para mantener o cambiar el signo de un operando. Si se desea mantener el signo de un operando sin cambios, el + se puede omitir. El operador - cambia el valor. En el siguiente ejemplo, como i vala 10, el valor que se guardara en b sera -10. int i=10; int b=-i; El operador unitario ! es un not lgico, es decir, invierte el valor de un dato de tipo boolean. En el siguiente ejemplo, i valdra true y b valdra false: bool i=true; bool b=!i; Se utiliza para incrementar una variable, antes de realizar cualquier operacin. Ejemplo: int a = 10; int b=++a;

var++, var--

Postincremento y postdecremento

Primario

Operando en forma original

Unitario

Cambio de signo

Unitario

Not lgico

Unitario

++var, --var

Preincremento y predecremento

Unitario

PROGRAMACIN .NET I UNIDAD 1 Actividad 3 - Cuadro comparativo de los tipos de datos y operadores AL10506079 Francisco Jos Chvez Escalante
En este ejemplo, incrementara a que vale 10 y despus guardara el valor 11 en b. En el operador (conversion), lo que ha de ir entre parntesis es el tipo al que se quiere convertir (int), (uint), (long)... Los operadores * y / son, respectivamente, para multiplicar y dividir. Es muy sencillo. Si, por ejemplo, tenemos la siguiente expresin: 4*6/2, el resultado sera el que se supone: 12. El operador % devuelve el resto de una divisin. Por ejemplo, 8 % 3 devolvera 2. Los operadores + y - (binarios) son para sumar o restar. 4+7-3 devolvera 8. Los operadores << y >> efectan un desplazamiento de bits hacia la izquierda o hacia la derecha. Los operadores relacionales < (menor que), > (mayor que), <= (menor o igual que), >= (mayor o igual que), is, == (igual que), != (distinto de) establecen una comparacin entre dos valores y devuelven como resultado un valor de tipo boolean (true o false). Veamos un ejemplo: int i; int b; Console.Write("Escribe el valor de i: "); i=Int32.Parse(Console.ReadLine()); Console.Write("Escribe el valor de b: "); b=Int32.Parse(Console.ReadLine()); Console.WriteLine("i<b devuelve: {0}", (i<b)); Console.WriteLine("i<=b devuelve: {0}", (i<=b)); Console.WriteLine("i>b devuelve: {0}", (i>b)); Console.WriteLine("i>=b devuelve: {0}", (i>=b)); Console.WriteLine("i==b devuelve: {0}", (i==b)); Console.WriteLine("i!=b devuelve: {0}", (i!=b)); La salida de estas lneas de programa sera la siguiente (en rojo est lo que se ha escrito durante la ejecucin de las mismas): Escribe el valor de i: 2 Escribe el valor de b: 3

(conversin) var *, /

Conversin de tipos Multiplicacin, divisin

Unitario Binario

% +, <<, >> <, >, <=, >=, is, ==, !=

Resto de divisin Suma, resta Desplazamiento de bits Relacionales

Binario Binario Binario Binario

PROGRAMACIN .NET I UNIDAD 1 Actividad 3 - Cuadro comparativo de los tipos de datos y operadores AL10506079 Francisco Jos Chvez Escalante
i<b devuelve: True i<=b devuelve: True i>b devuelve: False i>=b devuelve: False i==b devuelve: False i!=b devuelve: True Los operadores && (AND lgico) y || (OR lgico) se ocupan de comparar dos valores de tipo boolean y retornan como resultado otro valor de tipo boolean. El operador && devuelve true cuando ambos operandos son true, y false cuando uno de ellos o los dos son false. Por ejemplo, la siguiente expresin devolvera true si un nmero es mayor que 10 y menor que 20: (num > 10) && (num < 20) El operador || devuelve true cuando al menos uno de los operandos es true (pudiendo ser tambin true los dos), y false cuando los dos operandos son false. Suelen combinarse con las operaciones relacionales para establecer condiciones ms complejas. Para que veas otro ejemplo, la siguiente expresin devolvera true si el nmero es igual a 10 o igual a 20: (num == 10) || (num == 20) El operador ? : (question) evala una expresin como true o false y devuelve un valor que se le especifique en cada caso (Si programabas en Visual Basic, equivale ms o menos a la funcin iif). Vamos a verlo con un ejemplo: string mensaje = (num == 10) ? "El nmero es 10": "El nmero no es 10"; Fjate bien. Delante del interrogante se pone la expresin que debe retornar un valor boolean. Si dicho valor es true, el operador retornar lo que est detrs del interrogante, y si es false retornar lo que est detrs de los dos puntos. No tiene por qu retornar siempre un string. Puede retornar un valor de cualquier tipo. Por lo tanto, si en este ejemplo num valiera 10, la cadena que se asignara a mensaje sera "El nmero es 10", y en caso contrario se le asignara "El nmero no es 10".

&&

AND lgico

Binario

||

OR lgico

Binario

?:

QUESTION

Binario

PROGRAMACIN .NET I UNIDAD 1 Actividad 3 - Cuadro comparativo de los tipos de datos y operadores AL10506079 Francisco Jos Chvez Escalante
=, *=, /=, %=, +=, -=, <<=, >>=, &=, ^=, |= De asignacin Binario El operador de asignacin (=) (s, s, ya s que nos hemos hartado de usarlo, pero vamos a verlo con ms profundidad) asigna lo que hay a la derecha del mismo en la variable que est a la izquierda. Por ejemplo, la expresin a = b asignara a la variable a lo que valga la variable b. La primera norma que no debes olvidar es que ambas variables han de ser compatibles. Por ejemplo, no puedes asignar un nmero a una cadena, y viceversa, tampoco puedes asignar una cadena a una variable de algn tipo numrico. El resto de operadores de asignacin son operadores compuestos a partir de otro operador y el operador de asignacin. Veamos a qu equivalen los operadores *=, /=, %=, +=, -=, <<=, >>=, &=, ^=, |= num *= 10; // Equivale a num = num * 10 num /= 10; // Equivale a num = num / 10 num %= 10; // Equivale a num = num % 10 num += 10; // Equivale a num = num + 10 num -= 10; // Equivale a num = num - 10 num <<= 10; // Equivale a num = num << 10 num >>= 10; // Equivale a num = num >> 10 num &= 10; // Equivale a num = num & 10 num ^= 10; // Equivale a num = num ^ 10 num |= 10; // Equivale a num = num | 10

La precedencia de operadores determina la prioridad con la que se ejecutan cuando hay varios de ellos en una misma expresin. Efectivamente, el resultado puede ser distinto en funcin del orden en que se ejecuten. Vamos con un ejemplo. La expresin 4 + 3 * 6 8 devolvera 14, ya que primero se hace la multiplicacin y despus las sumas y las restas. Si hubiramos querido modificar dicha precedencia habra que haber usado parntesis: (4+3)*6-8 devolvera 34, ya que primero se ejecuta lo que hay dentro del parntesis, despus la multiplicacin y, por ltimo, la resta. La asociatividad de los operadores indica el orden en que se ejecutan cuando tienen la misma precedencia. Obviamente, esto es aplicable solamente a los operadores binarios. Todos los operadores binarios son asociativos por la izquierda salvo los de asignacin, que son asociativos por la derecha. Por ejemplo, en la expresin 4+3+2, primero se hace 4+3 y a este resultado se le suma el dos, dado que el operador + es asociativo por la izquierda. Sin embargo, en la expresin b = c = d, como el operador de asignacin es asociativo por la derecha, primero se asigna a c el valor de d, y despus se asigna a b el valor de c, es decir, que tras esta expresin las tres variables valdran lo mismo.

PROGRAMACIN .NET I UNIDAD 1 Actividad 3 - Cuadro comparativo de los tipos de datos y operadores AL10506079 Francisco Jos Chvez Escalante

Conversiones de Tipo de C#
Las conversiones de tipo de variables en C# se representan en la siguiente tabla en donde la fila es el origen y la columna el destino.
Leyenda Rojo Conversin incompatible (I).

Verde Conversin automtica o implcita (A). Azul Conversin explcita (E).

Conversiones de tipo de datos byte sbyte short ushort int uint long ulong float double decimal char bool byte sbyte short ushort int uint long ulong float double decimal char bool E E E E E E E E E E E I E E E E E E E E E E I E E E E E E E E E I E E E E E E E A I E E E E E E A I E E E E E A I E E E E A I E E E A I E E A I E A I A I I E A A A E E A A A A A E A A E A A A A A A A A A A A A E E E E E E E E E E E E E E E E E A E E E E E E E E E E E E E E E E E E I I I I I I I I I I I I I I I

PROGRAMACIN .NET I UNIDAD 1 Actividad 3 - Cuadro comparativo de los tipos de datos y operadores AL10506079 Francisco Jos Chvez Escalante Toda conversin implcita no ocasiona prdida de informacin, truncamientos o redondeos. Es posible (pero no siempre ocurre) que en una conversin explcita haya prdida de informacin, truncamientos o redondeos. En toda conversin implcita el tipo de dato destino es mayor que el tipo de dato origen. La conversin explcita se realiza indicando el tipo de dato al que se quiere convertir entre parntesis, seguido del valor:
long valor = 123; // Conversin implcita long valor = (long)123; // Conversin explcita

Adems de realizarse dentro de una asignacin, las conversiones de tipos tambin tienen lugar dentro de una expresin, pues en cada operacin ambos operandos deben de ser del mismo tipo. Si la conversin es del tipo implcito se efecta el siguiente algoritmo en dicho orden:
Si un operando es decimal, el otro operando se transforma a decimal. Si un operando es double, el otro operando se transforma a double. Si un operando es float, el otro operando se transforma a float. Si un operando es ulong, el otro operando se transforma a ulong. Si un operando es long, el otro operando se transforma a long. Si un operando es uint, y si el otro operando es de tipo sbyte, short o int, los dos se transforman a long. 7. Si un operando es uint, el otro operando se transforma a uint. 8. Si no es ninguno de los casos anteriores, los dos operandos se transforman a int. 1. 2. 3. 4. 5. 6.

PROGRAMACIN .NET I UNIDAD 1 Actividad 3 - Cuadro comparativo de los tipos de datos y operadores AL10506079 Francisco Jos Chvez Escalante

Bibliografa: Ferguson, Jeff etal. La biblia de C#, Madrid, Ediciones Anaya Multimedia. Edicin espaola, 2003. 835. http://es.wikipedia.org/wiki/C_Sharp http://www.mundonet.es/operadores.html?Pg=Entrega4.htm

Das könnte Ihnen auch gefallen