[JAVA] J'ai essayé de faire de Ben figure une animation GIF facile à comprendre

ET circuit

Le circuit ET est le suivant. Il y a les entrées A et B, et le C rouge qui se chevauche est la sortie. ベン図AND.gif

Circuit OU

Le circuit OU est le suivant. Il y a les entrées A et B, et la plage C de A et B est la sortie. ベン図OR.gif

Circuit NAND

Le circuit NAND ressemble à ceci: C'est le déni de ET qui est sorti au début. (PAS ET) Vous pouvez voir que la sortie de C rouge est l'inversion de AND. Ce circuit émet FALSE lorsque A et B sont tous deux VRAI. ベン図NAND.gif

Circuit NOR

Le circuit NOR est le suivant. C'est un déni de OU. (PAS OU) ベン図NOR.gif

Circuit XOR

Le circuit XOR ressemble à ceci: Sortie FALSE lorsque A et B sont tous deux VRAI ou les deux sont FAUX. ベン図XOR.gif

Démontage du circuit XOR

Pour trouver le circuit XOR en utilisant NAND, OR, AND, c'est comme suit. La plage de chevauchement (ET) lorsque le NAND jaune et le OU violet se chevauchent est le XOR. (La plage où le jaune et le violet se chevauchent et deviennent blanchâtres)

ベン図1_03.gif

Implémentation Java du circuit XOR

Implémentons la figure montrée dans la décomposition du circuit XOR ci-dessus en Java.

Main.java



public class Main {

    public static void main(String[] args) {
        //Sortie circuit XOR
        final boolean[][] AB = {
                    { true, true },
                    { true, false },
                    { false, true },
                    { false, false }
                };

        System.out.printf("Sortie circuit XOR\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;
    }
}

//Sortie circuit XOR
//(A :true) + (B :true) = false
//(A :true) + (B :false) = true
//(A :false) + (B :true) = true
//(A :false) + (B :false) = false

Implémentation Java du circuit XOR Partie 2

Vous pouvez également créer un circuit XOR en modifiant le contenu de la méthode xor utilisée dans le code Java ci-dessus comme suit. Ce qui suit est une sortie en forme de croissant avec le côté droit de a prenant le et de a et nand (a, b) manquant, et un croissant de lune avec le côté gauche de b prenant le et de b et nand (a, b) manquant. Sortie pour que les différentes sorties soient combinées avec ou.

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

J'ai essayé de faire de Ben figure une animation GIF facile à comprendre
J'ai essayé de créer une application Android avec MVC maintenant (Java)
J'ai essayé d'en faire une URL arbitraire en utilisant l'imbrication de routage
Je veux créer une application ios.android
J'ai essayé de faire une sauvegarde automatique avec plus agréable + PostgreSQL + SSL + docker
J'ai essayé de développer une application en 2 langues
J'ai essayé de créer une fonction de connexion avec Java
J'ai essayé de dessiner une animation avec l'API Blazor + canvas
Un débutant en développement d'applications a essayé de créer une application de calculatrice Android
Rails6 J'ai essayé d'introduire Docker dans une application existante
J'ai essayé de faire coexister Java Optional et la clause de garde
J'ai essayé de créer une application qui vous permet de publier et de discuter par genre ~ Vue d'ensemble de l'application ~
J'ai créé un client RESAS-API en Java
J'ai essayé de vérifier yum-cron
[Android] [Bibliothèque] J'ai essayé d'utiliser une bibliothèque d'animations appelée "Before After animation".
Après avoir appris Progate, j'ai essayé de créer une application SNS en utilisant Rails dans l'environnement local
J'ai essayé de créer un environnement de développement http2 avec Eclipse + Tomcat
[Unity] J'ai essayé de créer un plug-in natif UniNWPathMonitor en utilisant NWPathMonitor
[Java] J'ai essayé de faire un labyrinthe par la méthode de creusage ♪
J'ai essayé de créer divers programmes de séquence de nombres tels que le numéro Koratz, le numéro Fibonatch, le numéro Triangle
J'ai essayé de faire un Numeron qui n'est pas bon avec Ruby
J'ai essayé de créer une fonction de groupe (babillard) avec Rails
J'ai essayé de mâcher C # (indexeur)
J'ai essayé de résumer le support d'iOS 14
J'ai essayé d'interagir avec Java
J'ai essayé d'expliquer la méthode
J'ai essayé de résumer l'apprentissage Java (1)
J'ai essayé de résumer Java 8 maintenant
C # (polymorphisme: polymorphisme)
J'ai essayé d'expliquer Active Hash
J'ai essayé de créer une classe parent d'objet de valeur dans Ruby
J'ai essayé de créer une simple application Android de reconnaissance faciale en utilisant OpenCV
J'ai essayé de créer une API Web qui se connecte à DB avec Quarkus
J'ai essayé de créer mon propre guide de transfert en utilisant OpenTrip Planner et GTFS
J'ai créé un bot de transaction d'arbitrage de monnaie virtuelle et essayé de gagner de l'argent
01. J'ai essayé de créer un environnement avec SpringBoot + IntelliJ + MySQL (MyBatis) (Windows 10)
J'ai essayé d'utiliser pleinement le cœur du processeur avec Ruby
J'ai essayé de créer une application de conversation en Java à l'aide de l'IA «A3RT»
J'ai essayé de résumer les méthodes utilisées
J'ai essayé de migrer le traitement vers VS Code
J'ai essayé de résumer les expressions Java lambda
J'ai essayé de démarrer avec Web Assembly
J'ai essayé de résoudre la recherche binaire d'AOJ
J'ai essayé d'implémenter le modèle Iterator
J'ai essayé de résumer l'API Stream
J'ai essayé de construire AdoptOpenjdk 11 sur CentOS 7
Qu'est-ce que Docker? J'ai essayé de résumer
J'ai essayé d'utiliser Selenium comme JQuery
J'ai essayé de toucher JavaScript Part.2 orienté objet
J'ai créé une application d'apprentissage automatique avec Dash (+ Docker) part3 ~ Practice ~