J'ai fouillé sur le Web mais j'ai trouvé aucune solution à ce problème.
Quelle est la priorité logique pour les opérateurs Je veux dire, considérant comme exemple l'expression p> quel opérateur doit être évalué en premier? de selon mes recherches, il n'y a pas une priorité définie pour une telle expression, alors je pense que la La solution la plus simple consiste à évaluer les opérateurs en fonction de la commande qu'ils apparaissent dans l'expression, mais je me trompe peut-être. P> Toute suggestion? P> P> NAND code>,
ni
et
et
Xnor code>? P>
Évidemment NAND code> peut être traduit sous forme
non-et code> (comme
ni code> est
non ou code> et
xnor < / code> est
non-xor code>), mais p>
5 Réponses :
Si l'expression est écrite comme si elle est mentionnée dans la question (sans supports entre les deux), elle devrait être résolue dans l'ordre dans lequel ils sont écrits. C'est le seul moyen correct de le faire.
par exemple. Si sa ligne écrite A NOR B XOR C code>, cela signifie simplement
(A NOR B) XOR C CODE> P>
La priorité de l'opérateur doit être définie par une langue et ce que vous avez ici ne semble pas être une langue formelle, dans de tels cas, il est souvent supposé être évalué que vous lisez de gauche à droite. P>
Cependant, vous pouvez utiliser le même opérateur selon la précédente que Verilog ou regarder Wikipedia qui a une petite table selon la précédente couramment utilisé pour les opérateurs logiques p>
Cela dépend effectivement de votre Règles de priorité . S'il n'y a pas d'ordre (aucune règle de prévention ou tout de même importance), il devrait être résolu de gauche à droite. ici est un exemple avec C ++. P>
Je suppose que cela pourrait être spécifique de la langue, tous les opérateurs doivent avoir une ordonnance de priorité définie ou implicite par une implation spécifique. P>
ici est ce qu'un autre site doit en dire à ce sujet. P>
Les opérateurs booléens ont des analogues dans des arithmétiques conventionnels. Un moyen de décider de quoi les règles de la présence devraient être consiste à suivre les règles d'arithmétique conventionnelle, par exemple. et code> est analogue à la multiplication, tandis que
ou code> est analogue à l'addition, donc
et code> doit avoir une priorité plus élevée que
ou code>. Si vous regardez la table de prime de l'opérateur pour une langue telle que C ou C ++, vous verrez que c'est effectivement le cas dans ces langues connexes et autres. P>