Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lista 1
Lista 1
k=0
x
k
2
k
puede escribirse agrupando la suma en bloques de tres bits:
n
k=0
2
0
x
3k
+ 2
1
x
3k+1
+ 2
2
x
3k+2
2
3k
sume los bloques y vea entre que n umeros se encuentran las sumas. Luego
observe que 2
3k
= 8
k
, sustituya. Luego de un argumento que justique
que esta es realmente la expansion octal.
3. Dado un n umero escrito en binario, su expansion puede separarse en gru-
pos de 4 bits a partir del punto binario. Cada uno de esos grupos puede
escribirse en hexadecimal y con esto puede obtenerse rapidamente la ex-
pansion hexadecimal del n umero.
Es esto cierto? Si lo es, pruebelo; si no, de un contraejemplo.
Sugerencia: Siga la sugerencia del ejercicio anterior con bloques de 4 bits.
1
4. Eval ue las siguientes expresiones en C:
10 + 020 + 0x30
5 << 3
6 >> 2 <<1
(5>4 || 8<7)
5+6 | 16
(-4 < 3) * 8 + 2
!!5
~~5
4^6
6<5<4
6>5>4
5. Diga que escribe el segmento de programa que sigue:
int a, b;
a= 8;
b= 12;
a= a^b;
b= a^b;
a= a^b;
cout << "a= " << a << " b= " << b << endl;
Que pasara si en lugar de 8 y 12 se usaran otros valores enteros?
6. Considere el segmento de programa que sigue:
int a, b;
a= 8;
b= 12;
a= a+b;
b= a-b;
a= a-b;
cout << "a= " << a << " b= " << b << endl;
2
Si la computadora tuviera precision innita, podramos sospechar que este
segmento de codigo intercambia los valores de a y b, pero no hay tal, la
precision de las computadoras es nita.
Tambien en la aritmetica de las computadoras ocurrira el intercambio o
se perdera informacion al hacer las sumas (si se hicieran entre n umeros
muy grandes)?
Sugerencia: Intente con aritmetica de 4 bits y luego trate de generalizar.
7. Considere las proposiciones siguientes:
int a, b;
cin >> a;
b= (a<2)*4 + (2<=a && a<=4)* 8 + (4<a)* 5;
cout << "b= " << b << endl;
Dado un entero a, determine que escriben las proposiciones.
8. Haga un programa que calcule el maximo de dos n umeros reales dados.
9. Haga un programa que calcule el mnimo de tres n umeros reales dados.
10. Haga un programa que, dado un n umero entero entre 0 y 12, haga la tabla
de multiplicar de ese n umero dado.
3