2012-04-03 9 views
1

Wie ich in einer vorherigen Frage erwähnt habe, bin ich ziemlich neu in der Welt der Programmierung und der Computer, die gerade ein Universitätscoure angefangen haben.Schreiben der Logikfunktion für Schaltungen

Ich habe wirklich Schwierigkeiten, mit dem Schreiben der Logikfunktion für Schaltungen zu kommen.

Ich fragte mich, ob jemand die Logikfunktion für diese haben könnte?

 
http://www.flickr.com/photos/[email protected]/7041822113/in/photostream 
http://www.flickr.com/photos/[email protected]/7041821965/in/photostream/ 
http://www.flickr.com/photos/[email protected]/7041821833/in/photostream/ 

Jede Hilfe würde sehr geschätzt werden.

Antwort

1

Diese sehen für mich wie ziemlich einfache Übersetzungen der Syntax aus. Zum Beispiel in C, XOR ist ^, AND ist & und NOT ist ~, so die erste Schaltung herauskommen würde wie:

Y = (A & ~B)^C; 

Der große Unterschied ist, dass C (wie die meisten normalen Programmiersprachen) nicht einen Datentyp für ein einzelnes Bit haben, so würde dies wirklich ein Minimum von 8 Kopien der Schaltung parallel darstellen (dh die Datentypen von A, B und C werden normalerweise wenigstens ein Byte pro Stück sein).

Ich werde nicht durch die anderen gehen, aber ich würde bemerken, dass es in vielen Fällen am einfachsten ist, sich vom Ausgang zum Eingang zurück zu arbeiten, statt vom Eingang zum Ausgang.

Bearbeiten: oops: Art vergessen zu erwähnen, aber in C, OR ist |.

Edit: die Dinge zu vereinfachen, kann es am einfachsten sein (zumindest als erste) einige kleinen Funktionen zu schreiben, um als logisches Gatter: Diagramm

int bitwise_and(int a, int b) { return a & b); } 
int bitwise_or(int a, int b) { return a | b; } 
int bitwise_not(int a)  { return ~a;  } 
int bitwise_xor(int a, int b) { return a^b; } 

Dann können Sie im Grunde drehen nur ein Tor in einer Logik in einen Funktionsaufruf, so zum Beispiel ein OR-Gatter, das A und B als Eingänge nimmt und Y als Ausgang produziert würde Y = bitwise_or(a, b);

+0

Also würde es bedeuten, die Wahrheitstabelle für jedes Tor auszuarbeiten? – Anderscc

+0

@Bananaco: Die Wahrheitstabelle? Nein, normalerweise nicht. Sie könnten das tun, wenn Sie die Schaltung vereinfachen wollten (aber Demorgans Satz ist oft ausreichend), aber das Konvertieren in eine Programmiersprache erfordert das überhaupt nicht. –

+0

Danke für die Informationen und Ihre Hilfe. Sehr geschätzt. – Anderscc

0

Oh mein :)

Ich habe diese gemacht, als ich an der Universität war. Ein guter Ausgangspunkt wäre, mit der Booleschen Algebra-Formel für die Schaltung zu beginnen. Halte es einfach, wenn du anfängst, mach dir keine Sorgen darüber, die Formel zu reduzieren, bis du die volle ausgeschrieben hast.

Wenn Sie spezielle Fragen haben, oder sind auf einen bestimmten Teil der Schaltung ratlos, würde ich glücklich sein, Ihnen zu helfen. Finde einfach heraus, wo genau du steckst.

+0

Also einfach jedes Gatter nehmen und die Wahrheitstabelle für jedes einzeln ausschreiben? – Anderscc

+0

Sie wollen die Gleichung von y oder wollen wissen, was die Schaltung @Bananaco tut? – pac

Verwandte Themen