Organización de computadoras y demás (Dudas)

Iniciado por cacacolass, 30 Junio 2011, 01:18 AM

0 Miembros y 2 Visitantes están viendo este tema.

cacacolass

Hola a todos, actualmente estoy estudiando lic en sistemas de información y me están surgiendo varias dudas. Me recomendó un amigo este foro, se que se ayudan mutuamente, asi que me gustaría ayudar a mi también el día de mañana.
Bueno, aquí van mis dudas, que si me pueden explicar un poco se los agradecería demasiado.

1) Sean
A: 01100011
B: 00001111
C: 00111000
D: 01010101
E: 10100100

Se pide hallar el o los valores de X en las siguientes operaciones:

Ej:
X= (A OR C) AND D

        A 0110 0011              A OR C    0111 1011
OR    C 0011 1000              AND D    0101  0101
       ----------------                           ------------
         0111 1011                              0101 0001

Resultado X= 0101 0001

a) X= (A AND B) OR C
b) X= A XOR E
c) X= A XOR E
d) X= (A AND (B AND C)) AND D)

Dónde puedo encontrar de estos ejercicios para practicar aún más?

2)
Poseo 38 nombres de localidades y deseo codificarlas en binario ¿Cuál es la longitud (en bits) del código óptimo?

3)
Suponga que la pantalla de un monitor presentea 25 líneas, cada una de las cuales contiene 80 caracteres de texto. Si la imagen de la pantalla se almcacenara en la memoria representando cada caracter con su codigo ASCII (modo texto), cuántos bytes de la memoria de la máquina se requerirán para guardar la imágen completa ?




Eso es todo, el resto lo manejo dentro de todo bien.
Dónde puedo encontrar problemas así para practiar aún más ?

Muchas gracias por todo, por ahí no espero tanto en que me resuelvan esos ejercicios, sino que me lo sepan explicar para poder entenderlo.

Muchas gracias de nuevo, saludos

engel lex

Para ser sincero no termino de entender tus dudas al respecto, asi que me iré a lo basico

en la primera parte hablamos de cuentas en binario
con tabla de verdad


Bit1Bit2ANDORXOR
00000
01011
11110
AND= si esto Y esto se cumple
OR = si cualquiera de las 2 se cumple (esto engloba cuando las 2 se cumplen)
XOR = si SOLO 1 se cumple



al momento de resolver los ejercicios es sacar cuentas y ver por donde van los tiros, no es complicado...

la segunda no la termino de entender, ya que la longitud en bits va a depender de lo largo del nombre de las localidades

la tercera es una simple multiplicacion de 25x80 (que seria el total de caracteres mostrados) y sabemos que el codigo ascii cada caracter equivale a 1byte asi que en la memoria estarian guardados 2000 bytes

Si alguna otra duda o si no explique lo que necesitabas, entonces aclara que especificamente quieres saber, no es el solo resolver los ejercicios, es el saber que  se debe hacer para resolverlos  ;D
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

ShotgunLogic

38

La dos supongo que se referira al número, porque si no no tiene mucho sentido. De todas formas de ser así simplemente sería hacer algo parecido a lo que voy a hacer ahora pero en vez de con 38 con el número de letras multiplicado por un byte si es ascii(el de 256 bits vamos).

Para lo de los números simplemente encontrar la potencia de dos que sea igual o mayor a 38:

64

Como sabemos que 64 es 2^6, nos harian falta 6 bits(y de hecho nos sobrarían números). Así tendriamos el número 0 para la primera localidad, el 1 para la segunda, etc...

Un saludo! :laugh:
The clans are marching against the law, bagpipers play the tunes of war, death or glory I will find, rebellion on my mind.

engel lex

ShotgunLogic: si estaba pensando algo asi, porque seria logico pero al leer la pregunta dice:

Poseo 38 nombres de localidades y deseo codificarlas en binario ¿Cuál es la longitud (en bits) del código óptimo?

habla de nombres, asi que seria un largo variable, al codificarlas en binario en dado caso seria el codigo optimo algo como (largo max caracteres adminitbles)*8*(total de localidades)

por cierto como es eso del acsii de 256bits? D:

cacacolass: insisto a las preguntas le faltan contexto o explicacion... no se entiende bien que es lo que quieres obtener con estas respuestas
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

ShotgunLogic

Sí, pero la codificación puede ser una codificación que tu haces, igual que hacemos la codificación de que 111 es blanco, y 000 es negro. Quiero decir que asociar una localidad a números binarios también es una codificiación.
The clans are marching against the law, bagpipers play the tunes of war, death or glory I will find, rebellion on my mind.

cacacolass

Hola, antes que nada , gracias por su tiempo y respuestas.

El punto 1 sigo sin entenderlo. No entiendo que tengo que hacer.
El profesor no explicó un carajo  y  nos largó con esto.


El punto 2,
Es tal cual lo escribí.
Poseo 38 nombres de localidades y deseo codificarlas en binario. ¿Cuál es la longitud (en bits) del código óptimo?

Por ahí lo que debo hacer es tomar la cantidad máxima de caracteres que puede llegar a ocupar el nombre de una calidad (ejemplo 12 caracteres).
Y de ahí multiplicar y me va a dar los bits que necesito.
Qué opinan ?

cacacolass

Cita de: ShotgunLogic en  1 Julio 2011, 11:15 AM
38

La dos supongo que se referira al número, porque si no no tiene mucho sentido. De todas formas de ser así simplemente sería hacer algo parecido a lo que voy a hacer ahora pero en vez de con 38 con el número de letras multiplicado por un byte si es ascii(el de 256 bits vamos).

Para lo de los números simplemente encontrar la potencia de dos que sea igual o mayor a 38:

64

Como sabemos que 64 es 2^6, nos harian falta 6 bits(y de hecho nos sobrarían números). Así tendriamos el número 0 para la primera localidad, el 1 para la segunda, etc...

Un saludo! :laugh:

mmm, está buena esa. Si es así, es una boludes.
Gracias

engel lex

#7
ok, en la 1 son operaciones logicas en binario, las 4 basicas son
NOT
AND
OR
XOR
(veamos como que 1 significa "verdadero" y 0 significa "falso")

NOT se aplica para 1 solo valor y es una negación es decir cuando algo es "NOT verdadero" (NOT 1) significa que es falso y también lo contrario


valor resultado NOT
   0              1
   1              0


AND solo retornará verdadero si ambas entradas lo son verdadero


valor1 valor2 resultado AND
  0        0              0
  0        1              0
  1        0              0
  1        1              1

(es basicamente preguntarse si esto Y esto es verdad al mismo tiempo)

OR retornará verdadero si cualquiera de los 2 valores lo es

valor1 valor2 resultado OR
  0        0              0
  0        1              1
  1        0              1
  1        1              1


XOR (exclusive or) retonará verdadero SOLO SI UNO de los valores lo es

valor1 valor2 resultado XOR
  0        0              0
  0        1              1
  1        0              1
  1        1              0




si te fijas en la operacion

01100011 OR
00111000
________
01111011

lo que haces es verlo igual que si hicieras una suma/multiplicacion/resta por el sistema, vas de derecha a izquierda viendo el bit de arriba y haciendo OR con el de abajo

1 OR 0 = 1
1 OR 0 = 1
0 OR 0 = 0
0 OR 1 = 1
0 OR 1 = 1
1 OR 1 = 1
1 OR 0 = 1
0 OR 0 = 0


luego a ese resultado le haces AND con 01010101

01111011 AND
01010101
________
01010001

es decir de derecha a izquierda bit por bit

1 AND 1 = 1
1 AND 0 = 0
0 AND 1 = 0
1 AND 0 = 0
1 AND 1 = 1
1 AND 0 = 0
1 AND 1 = 1
0 AND 0 = 0

Ya por lo menos el ejercicio 2 que A XOR E

seria

01100011 XOR
10100100
________
11000111

CitarPor ahí lo que debo hacer es tomar la cantidad máxima de caracteres que puede llegar a ocupar el nombre de una calidad (ejemplo 12 caracteres).
Y de ahí multiplicar y me va a dar los bits que necesito.
Qué opinan ?

Si, en lo que a mi parecer respecta, seria así... si tu cantidad máxima es de 12 caracteres por localidad, sabemos que son 38 localidades y sabemos que cada carácter ascii son 8bit(1byte) simplemente multiplicas 12*38*8 = 3648bits de largo
Aunque el método de ShotgunLogic no es descabellado ni incorrecto, en hecho, es muy aceptable su ultimo comentario de que podrias codificarlas simplemente asignándole un valor (seria como decir localidad 1, localidad 2, localidad n... pero con el numero en binario) y seria asi de simple...

Analizalo y si no me explique bien en algo, pregunta  :D
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

.:UND3R:.

Es muy entretenido hacer estos ejercicios más o menos así trabajas en el cracking pero que mal que ya los desarrollaron :c

de todas formas te dejo un link interesante

http://www.monografias.com/trabajos14/sistemanumeracion/sistemanumeracion.shtml

Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)

Negr0

Cita de: engelx en  2 Julio 2011, 08:09 AM
ok, en la 1 son operaciones logicas en binario, las 4 basicas son
NOT
AND
OR
XOR
(veamos como que 1 significa "verdadero" y 0 significa "falso")

NOT se aplica para 1 solo valor y es una negación es decir cuando algo es "NOT verdadero" (NOT 1) significa que es falso y también lo contrario


valor resultado NOT
   0              1
   1              0


AND solo retornará verdadero si ambas entradas lo son verdadero


valor1 valor2 resultado AND
  0        0              0
  0        1              0
  1        0              0
  1        1              1

(es basicamente preguntarse si esto Y esto es verdad al mismo tiempo)

OR retornará verdadero si cualquiera de los 2 valores lo es

valor1 valor2 resultado OR
  0        0              0
  0        1              1
  1        0              1
  1        1              1


XOR (exclusive or) retonará verdadero SOLO SI UNO de los valores lo es

valor1 valor2 resultado XOR
  0        0              0
  0        1              1
  1        0              1
  1        1              0




si te fijas en la operacion

01100011 OR
00111000
________
01111011

lo que haces es verlo igual que si hicieras una suma/multiplicacion/resta por el sistema, vas de derecha a izquierda viendo el bit de arriba y haciendo OR con el de abajo

1 OR 0 = 1
1 OR 0 = 1
0 OR 0 = 0
0 OR 1 = 1
0 OR 1 = 1
1 OR 1 = 1
1 OR 0 = 1
0 OR 0 = 0


luego a ese resultado le haces AND con 01010101

01111011 AND
01010101
________
01010001

es decir de derecha a izquierda bit por bit

1 AND 1 = 1
1 AND 0 = 0
0 AND 1 = 0
1 AND 0 = 0
1 AND 1 = 1
1 AND 0 = 0
1 AND 1 = 1
0 AND 0 = 0

Ya por lo menos el ejercicio 2 que A XOR E

seria

01100011 XOR
10100100
________
11000111

Si, en lo que a mi parecer respecta, seria así... si tu cantidad máxima es de 12 caracteres por localidad, sabemos que son 38 localidades y sabemos que cada carácter ascii son 8bit(1byte) simplemente multiplicas 12*38*8 = 3648bits de largo
Aunque el método de ShotgunLogic no es descabellado ni incorrecto, en hecho, es muy aceptable su ultimo comentario de que podrias codificarlas simplemente asignándole un valor (seria como decir localidad 1, localidad 2, localidad n... pero con el numero en binario) y seria asi de simple...

Analizalo y si no me explique bien en algo, pregunta  :D

Muchas gracias por la explicación.
Ahí entendí bastante.
Pasa que esa base nunca la tuve.