Ejercicio de puertas lógicas xD

Buenas, estoy cursando una ingeniería y necesito ayuda en dos puñeteros ejercicios de puertas lógicas de informática, a ver si me podéis echar una manita.

1.- Se desea diseñar un circuito con puertas lógicas para convertir un número binario, de tres bits, codificado en complemento a 2 al formato signo valor absoluto.

2.- Se desea diseñar un circuito con puertas lógicas que duplique un número binario entero de 3 bits no negativo.

Saludos y muchas gracias
¿Qué llevas hecho? Para continuar con ello y ver que problemas tienes.
Pues básicamente nada, nose como plantearlo.

El ejercicio 2 hice la tabla de verdad así:

A B C | D E | x3 x2 x1 x0
0 1 0 1 0 | 0 1 0 0
0 0 1 1 0 | 0 0 1 0
0 0 0 1 0 | 0 0 0 0
0 1 1 1 0 | 0 1 1 0

Supongo que como el número es positivo, A siempre es 0, y DE sería 2 en binario. Pero luego nose como hacer la funcion booleana. ¿Sería 3 no? Una x0, x1 y otra x2 y para representar con puertas lógicas, tendría 3 salidas x0, x1 y x2. puff ni idea...

Y el ejercicio 1, la tabla de verdad realmente nose como hacerla. Se que habría que negar A B y C, y luego sumar +1...me imagino con un acarreo. Es que me cuesta entender esto.

Saludos
al menos no te han pedido que diseñes un nuevo tipo de puertas logicas y que hagas un circuito por ella...

que risas nos hechamos en clase con las puertas limon (que no me acuerdo que hacia) y las puertas bombas (que explotaban en un estado determinado...)
No entiendo la tabla de verdad que has puesto para el ejercicio 2. Si te dicen que la entrada es un entero no negativo de 3 bits, no debería tener sólo 3 variables de entrada, y 7 combinaciones de entrada (001, 010, 011, 100, 101, 110, 111)?

Por cierto, duplicar un número binario (multiplicar por 10 en binario) funciona de forma similar a multiplicar por 10 un número decimal. No haría falta ni poner puertas lógicas.

-

Para el ejercicio 1, vas bien, en la representación complemento a 2, si el número es negativo (el primer bit, el signo, es 1), entonces tienes que negar todos los dígitos y sumar 1, y lo que te queda es el valor absoluto. Si el número es positivo entonces ya es el valor absoluto. Como también tienes 3 bits, solo hay 8 casos (000, 001, 010, 011, 100, 101, 110, 111), no demasiados como para tratarlos manualmente.

Luego para pasar de la tabla de verdad a una función lógica, hazlo como tu profesor quiera... en mi clase lo hacíamos con 'minterms' o 'maxterms' (sin optimizar) o con mapas de Karnaugh (optimizando).
el uno no entiendo que quieres hacer

el 2 es muy facil

necesitas hacer mapas de karnaugh con 3 bits como entrada desde 000 hasta 111 que es 7, la salida es el doble que la entrada, por lo que tu salida maxima es 1110 de 4 bits.

y a darle con el mapa.

pero para que veas que soy compi, solo necesitas hacer un corrimiento a la izquierda del numero binario que tienes mira.
0000 0000
0001 0010
0101 1010
0111 1110

entonces no necesitas mas que tus 3 entradas sean un seguidor de una posicion suponiendo que el simbolo > es un segidor seria
(Ix van a ser tus entradas)
0 menos significativo a 2 mas significativo
(Sx salidas)
0-> S0
I1 > S1
I2 > S2
I3 > S3

y listo, el doble de la entrada de un numero de 3 bits
Bueno, entonces más o menos estoy en lo cierto.

Igualmente, me van a follar en el examen de informática....me he dado cuenta que en 9 días no se puede aprender a programar en lenguaje ensamblador LS2, de la CESIUS.

Saludos y muchas gracias.
6 respuestas