Die UND-Schaltung ist wie folgt. Es gibt Eingänge A und B, und das überlappende rote C ist der Ausgang.
Die ODER-Schaltung ist wie folgt. Es gibt Eingänge A und B und der Bereich C von A und B ist der Ausgang.
Die NAND-Schaltung sieht folgendermaßen aus: Es ist die Verleugnung von UND, die am Anfang herauskam. (NICHT UND) Sie können sehen, dass die Ausgabe von rotem C die Inversion von UND ist. Diese Schaltung gibt FALSE aus, wenn sowohl A als auch B TRUE sind.
Die NOR-Schaltung ist wie folgt. Es ist eine Ablehnung von OR. (NICHT ODER)
Die XOR-Schaltung sieht folgendermaßen aus: Gibt FALSE aus, wenn sowohl A als auch B TRUE oder beide FALSE sind.
Um die XOR-Schaltung mit NAND, OR und AND zu finden, gehen Sie wie folgt vor. Der Überlappungsbereich (UND), wenn sich das gelbe NAND und das lila ODER überlappen, ist das XOR. (Der Bereich, in dem sich Gelb und Lila überlappen und weißlich werden)
Lassen Sie uns die in der Zerlegung der XOR-Schaltung oben gezeigte Abbildung in Java implementieren.
Main.java
public class Main {
public static void main(String[] args) {
//XOR-Schaltungsausgang
final boolean[][] AB = {
{ true, true },
{ true, false },
{ false, true },
{ false, false }
};
System.out.printf("XOR-Schaltungsausgang\n");
for (int i = 0; i < AB.length; i++) {
boolean b = xor(AB[i][0], AB[i][1]);
System.out.println("(A :" + AB[i][0] + ") + (B :" + AB[i][1] + ") = " + b);
}
}
public static boolean and(boolean a, boolean b) {
if (a && b) {
return true;
}
return false;
}
public static boolean or(boolean a, boolean b) {
if (a || b) {
return true;
}
return false;
}
public static boolean nand(boolean a, boolean b) {
return !and(a, b);
}
public static boolean xor(boolean a, boolean b) {
if (and(nand(a, b), or(a,b))) {
return true;
}
return false;
}
}
//XOR-Schaltungsausgang
//(A :true) + (B :true) = false
//(A :true) + (B :false) = true
//(A :false) + (B :true) = true
//(A :false) + (B :false) = false
Sie können auch eine XOR-Schaltung erstellen, indem Sie den Inhalt der im obigen Java-Code verwendeten xor-Methode wie folgt ändern. Unten ist eine Ausgabe wie ein Halbmond, bei der die rechte Seite von a und n und (a, b) fehlt, und ein Halbmond, bei der die linke Seite von b das und von b und nand (a, b) fehlt Ausgabe so, dass die verschiedenen Ausgänge mit oder kombiniert werden.
Main.java
public static boolean xor(boolean a, boolean b) {
if (or(and(a, nand(a, b)), and(b, nand(a, b)))) {
return true;
}
return false;
}
Recommended Posts