[JAVA] Ich habe versucht, Ben zu einer leicht verständlichen GIF-Animation zu machen

UND-Schaltung

Die UND-Schaltung ist wie folgt. Es gibt Eingänge A und B, und das überlappende rote C ist der Ausgang. ベン図AND.gif

ODER-Schaltung

Die ODER-Schaltung ist wie folgt. Es gibt Eingänge A und B und der Bereich C von A und B ist der Ausgang. ベン図OR.gif

NAND-Schaltung

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. ベン図NAND.gif

NOR-Schaltung

Die NOR-Schaltung ist wie folgt. Es ist eine Ablehnung von OR. (NICHT ODER) ベン図NOR.gif

XOR-Schaltung

Die XOR-Schaltung sieht folgendermaßen aus: Gibt FALSE aus, wenn sowohl A als auch B TRUE oder beide FALSE sind. ベン図XOR.gif

Demontage der XOR-Schaltung

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)

ベン図1_03.gif

Java-Implementierung der XOR-Schaltung

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

Java-Implementierung der XOR-Schaltung Teil 2

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

Ich habe versucht, Ben zu einer leicht verständlichen GIF-Animation zu machen
Ich habe versucht, eine Android-Anwendung mit MVC zu erstellen (Java)
Ich habe versucht, mithilfe von Routing-Verschachtelung eine beliebige URL zu erstellen
Ich möchte eine ios.android App machen
Ich habe versucht, ein automatisches Backup mit angenehmem + PostgreSQL + SSL + Docker zu erstellen
Ich habe versucht, eine Anwendung in 2 Sprachen zu entwickeln
Ich habe versucht, eine Anmeldefunktion mit Java zu erstellen
Ich habe versucht, Animationen mit der Blazor + Canvas-API zu zeichnen
Anfänger in der App-Entwicklung haben versucht, eine Android-Rechner-App zu erstellen
Rails6 Ich habe versucht, Docker in eine vorhandene Anwendung einzuführen
Ich habe versucht, Java Optional und Guard-Klausel koexistieren zu lassen
Ich habe versucht, eine App zu erstellen, mit der Sie nach Genre posten und chatten können ~ Übersicht über die App ~
Ich habe einen RESAS-API-Client in Java erstellt
Ich habe versucht, yum-cron zu verifizieren
[Android] [Bibliothek] Ich habe versucht, eine Animationsbibliothek namens "Vorher Nachher Animation" zu verwenden.
Nachdem ich Progate gelernt hatte, versuchte ich, eine SNS-Anwendung mit Rails in der lokalen Umgebung zu erstellen
Ich habe versucht, mit Eclipse + Tomcat eine http2-Entwicklungsumgebung zu erstellen
[Unity] Ich habe mit NWPathMonitor ein natives Plug-In UniNWPathMonitor erstellt
[Java] Ich habe versucht, mit der Grabmethode ein Labyrinth zu erstellen ♪
Ich habe versucht, verschiedene Nummernfolgeprogramme wie Koratz-Nummer, Fibonatch-Nummer, Dreieck-Nummer zu erstellen
Ich habe versucht, einen Numeron zu erstellen, der mit Ruby nicht gut ist
Ich habe versucht, mit Rails eine Gruppenfunktion (Bulletin Board) zu erstellen
Ich habe versucht, C # (Indexer) zu kauen.
Ich habe versucht, die Unterstützung für iOS 14 zusammenzufassen
Ich habe versucht, mit Java zu interagieren
Ich habe versucht, die Methode zu erklären
Ich habe versucht, das Java-Lernen zusammenzufassen (1)
Ich habe jetzt versucht, Java 8 zusammenzufassen
C # (Polymorphismus: Polymorphismus)
Ich habe versucht, Active Hash zu erklären
Ich habe versucht, ein übergeordnetes Wertklasseobjekt in Ruby zu erstellen
Ich habe versucht, eine einfache Gesichtserkennungs-Android-Anwendung mit OpenCV zu erstellen
Ich habe versucht, eine Web-API zu erstellen, die mit Quarkus eine Verbindung zur Datenbank herstellt
Ich habe versucht, mit OpenTrip Planner und GTFS eine eigene Übertragungsanleitung zu erstellen
Ich habe einen Arbitrage-Transaktionsbot für virtuelle Währungen erstellt und versucht, Geld zu verdienen
01. Ich habe versucht, eine Umgebung mit SpringBoot + IntelliJ + MySQL (MyBatis) (Windows 10) zu erstellen.
Ich habe versucht, den CPU-Kern mit Ruby voll auszunutzen
Ich habe versucht, mit AI "A3RT" eine Talk-App in Java zu erstellen.
Ich habe versucht, die verwendeten Methoden zusammenzufassen
Ich habe versucht, Processing auf VS Code zu migrieren
Ich habe versucht, Java-Lambda-Ausdrücke zusammenzufassen
Ich habe versucht, mit Web Assembly zu beginnen
Ich habe versucht, AOJs binäre Suche zu lösen
Ich habe versucht, das Iterator-Muster zu implementieren
Ich habe versucht, die Stream-API zusammenzufassen
Ich habe versucht, AdoptOpenjdk 11 unter CentOS 7 zu erstellen
Was ist Docker? Ich habe versucht zusammenzufassen
Ich habe versucht, Selen wie JQuery zu verwenden
Ich habe versucht, JavaScript Part.2 Objektorientiert zu berühren
Ich habe eine App für maschinelles Lernen mit Dash (+ Docker) Teil 3 ~ Übung ~ erstellt