Вы находитесь на странице: 1из 11

1.

Realiza un cuadro
comparativo de los temas vistos
previamente, tales como tipos de
datos, operadores aritmticos,
lgicos y relacionales y conversin
de tipos de datos; resaltando la
utilidad de cada uno de stos de
forma breve.

Actividad 3.
Cuadro
comparativo de
los tipos de datos
y operadores

Con la presente actividad identificars los tipos de datos y operadores, adems de que
conocers cules son las caractersticas de cada uno de ellos de forma individual.
Propsito: Identificar los tipos de datos y operadores de C# .net. Por lo tanto:
1. Realiza un cuadro comparativo de los temas vistos previamente, tales como tipos
de datos, operadores aritmticos, lgicos y relacionales y conversin de tipos de
datos; resaltando la utilidad de cada uno de stos de forma breve.

Tipo
byte

Tamao
8-bit (1byte)

sbyte

8-bit (1byte)

short

16-bit
(2-byte)

ushort

16-bit
(2-byte)

int

32-bit
(4-byte)

uint

32-bit
(4-byte)

Tipos de Datos comunes en C#


Descripcin
Las variables con tipo
0 a 255
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.
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.

Rango

-128 a 127

Las variables con tipo


short pueden contener
nmeros enteros de 16
bits con signo.
Las variables con tipo
ushort pueden contener
nmeros enteros de 16
bits sin signo. La 'u' de
ushort significa sin signo.

-32.768 a 32.767

Las variables con tipo int


pueden contener nmeros
enteros de 32 bits con signo.
Las variables con tipo uint
pueden contener nmeros

-2.147.483.648 a 2.147.483.647

0 a 65.535

0 a 4.294.967.295

long

64-bit
(8-byte)

ulong

64-bit
(8-byte)

float

32-bit
(4-byte)

double

64-bit
(8-byte)

decimal

128-bit
(16byte)

char

16-bit
(2-byte)

Bool

8-bit (1byte)

enteros de 32 bits sin signo.


La u en uint significa sin
signo.
Las variables con tipo long
pueden contener nmeros
enteros de 64 bits con signo.
Las variables con tipo ulong
pueden contener nmeros
enteros de 64 bits sin signo.
la u en ulong significa sin
signo.
Las variables con tipo
float pueden contener un
valor de coma flotante de
32 bits con signo.
Las variables con tipo
doubl pueden contener
un valor de coma flotante
de 64 bits con signo.
Las variables con tipo
decimal pueden contener
un valor de coma flotante
de 128 bits con signo.
Las variables con tipo
char pueden contener
caracteres Unicode de 16
bits.
Las variables con tipo
bool pueden tener uno de
los dos posibles valores:
true o false. 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 0 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

-9.223.372.036.854.775.808 a
9.223.372.036.854.775.807
0 a 18.446.744.073.709.551.615

1.401298E45 a
3.402823E+38

4.94065645841246E324 a
1.79769313486232E+308

7.922816251426433759354
3950335 a
+7.922816251426433759354
3950335
'\u0000' a '\uFFFF'

Verdadero o falso

Datetim
e

8 bytes

String

2 bytes
por
carcte
r

quiere trabajar con una


variable que necesita
tener una condicin
verdadera o falsa, use
una variable bool y no
una variable int
Almacena un instante de
tiempo que va
comprendido desde
01/01/0001 12:00:00 am
a 31/12/9999 11:59:59
pm
Almacena una secuencia
de caracteres

La pregunta es 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.

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

Uso

Tipo

Descripcin

(expresin)

Control de
precedencia

Primario

En el caso de (expresin), los


operadores son realmente los

. var++,
var--

Postincremen
to y
postdecreme
nto

Primario

Operando en
forma
original

Unitario

Cambio de
signo

Unitario

Not lgico

Unitario

++var, --var

Preincrement
oy
predecremen
to

Unitario

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;

(conversin)
var

Conversin
de tipos

Unitario

En este ejemplo, incrementara a


que vale 10 y despus guardara el
valor 11 en b.
En el operador (conversin), lo que
ha de ir entre parntesis es el tipo
al que se quiere convertir (int),
(uint), (long)...

*, /

Multiplicaci
n, divisin

Binario

Resto de
divisin

+, -

Suma, resta

Binario

<<, >>

Desplazamie
nto de bits

Binario

<, >, <=,


>=, is, ==, !
=

Relacionales

Binario

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.
Binario 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
i<b devuelve: True
i<=b devuelve: True
i>b devuelve: False
i>=b devuelve: False
i==b devuelve: False
i!=b devuelve: True
&&

AND lgico

Binario

||

OR lgico

Binario

?:

QUESTION

Binario

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".

=, *=, /=,
%=, +=, -=,
<<=, >>=,
&=, ^=, |=

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
num
num
num
num
num
num
num
num
num
num
num
num
num
num
num
num
num
num

* 10
/= 10; // Equivale a num =
/ 10
%= 10; // Equivale a num =
% 10
+= 10; // Equivale a num =
+ 10
-= 10; // Equivale a num =
- 10
<<= 10; // Equivale a num =
<< 10
>>= 10; // Equivale a num =
>> 10
&= 10; // Equivale a num =
& 10
^= 10; // Equivale a num =
^ 10
|= 10; // Equivale a 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.

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

E
E

short

ushort

int

uint

long

ulong

float

double

decimal

char

bool

I
I

Toda conversin implcita no ocasiona prdida de informacin, truncamientos o

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:

redondeos.

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:
1. Si un operando es decimal, el otro operando se transforma a decimal.
2. Si un operando es double, el otro operando se transforma a double.
3. Si un operando es float, el otro operando se transforma a float.
4. Si un operando es ulong, el otro operando se transforma a ulong.
5. Si un operando es long, el otro operando se transforma a long.

10

6. 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.
Bibliografa:
http://www.monografias.com/trabajos72/base-datos/base-datos2.shtml
http://www.mundonet.es/operadores.html?Pg=Entrega4.htm

Complementa el cuadro, agregando al final la definicin de tipos de datos y la


de operadores en base a una previa investigacin individual en fuentes
complementarias.
3. Guarda la actividad con el nombre PRN1_U1_A3_XXYZ. Sustituye las XX por las dos
primeras letras de tu primer nombre, la Y por la inicial de tu primer apellido y la Z por la
inicial de tu segundo apellido.
4. Enva el archivo a tu Facilitador(a) para recibir retroalimentacin.
5. Consulta la rbrica para elaborar el cuadro comparativo que encontrars en el archivo
Instrumentos de evaluacin para conocer los parmetros de la actividad.