Diskuze: Logický součet na součin

Hardware PC Hardware Ostatní hardware Logický součet na součin

Avatar
Honza Bittner
Redaktor
Avatar
Honza Bittner:

Ahoj, nějak jsem se zamotal v převodu logického součtu na součin. Mám udělat čítač nějakých čísel a z jedné mapy mi vylezl součet, kde to potřebuji převést na součin, abych mohl použít AND součástku.

Co když mám třeba
AC + /B

to převedu s 2x negováním na součin
//(AC * /B)

avšak když ty 2 negace vyruším tak mi vyjde
AC * /B

což mi připadá jako blbost aby AC + /B => AC * /B

Může mi to někdo vysvětlit? :P Prostě jsem se do toho nějak zamotal a nevím co a jak :D

Odpovědět 23.4.2014 14:48
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Ridge
Člen
Avatar
Ridge:

Takhle to nefunguje.

Negace je jen jednou nad celým členem. Druhá negace je AC a B = /AC * B

S provedením.. zkus to popsat vic..

Editováno 23.4.2014 15:15
Nahoru Odpovědět 23.4.2014 15:12
use brain.
Avatar
coells
Redaktor
Avatar
Odpovídá na Honza Bittner
coells:
A + /B ==
//(A + /B) ==
/(/A * //B) ==
/(/A * B)
 
Nahoru Odpovědět  +1 23.4.2014 15:38
Avatar
Odpovídá na coells
Libor Šimo (libcosenior):

Sorry, ale tomu nerozumiem. Mohol by to niekto vysvetliť na konkrétnych číslach?

Nahoru Odpovědět  +1 23.4.2014 16:22
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
martinsakra
Redaktor
Avatar
Odpovídá na Libor Šimo (libcosenior)
martinsakra:

udělej si tabulku, vždycky když nevíš u těchhle jednoduchých tak tabulku a zjistíš že
A and B je ekvivalentní not(not(A) or not(B))
tj aby obě situace platily musí být A,B true
A pak už je tam jen změna že v zadání nemáš A and B ale A and not(B)

Nahoru Odpovědět 23.4.2014 16:37
Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote.
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na coells
Honza Bittner:

Btw. pokud jednou zneguji logický součet tak dostanu logický součin? :P

A neguji to dvakrát, jelikož 2x negované se vyruší, tzn výraz zůstane beze změny ? :)

AC + /B
//(AC + /B) - beze změny
/(/AC * B) - negaci jsem "změnil" na součin a znegoval členy

Tudíž použiji NAND kam přivedu B a z ANDu /AC

Tzn. nějak takto:

B---------NAND
/A---AND--^^^^
/C---^^^

? :P

Editováno 23.4.2014 16:51
Nahoru Odpovědět 23.4.2014 16:50
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Ridge
Člen
Avatar
Odpovídá na Honza Bittner
Ridge:

Pokud zneguješ logický součet (A + B) tak po negaci je to /( /A * /B ).

Přesněji by to mělo být tak že - /( /(AC)* B). A s C provedeš přes první NAND a pak výstup napojíš do dalšího NANDu společně s B, jelikož nesmíš zapomenout na to že celá zavorka je negovaná.

Editováno 24.4.2014 17:10
Nahoru Odpovědět 24.4.2014 17:07
use brain.
Avatar
mnauik
Člen
Avatar
mnauik:

pozn.: /AC != /(AC)


(and, or, negace) => (*,+,/)
De Morganovy zákony:
/(X + Y) = /X * /Y
/(X * Y) = /X + /Y

AC + /B:
AC = /X
/B = /Y

/X + /Y = /(X * Y) = /(/(AC) * B)

Nahoru Odpovědět 4.5.2014 1:06
minusuj mě, ale zdůvodni to ;)
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.