一种逻辑门的代码表达形式

最近在做逻辑门的模拟,通过代码实现与、或、非,并在此基础上组装出更加复杂的门电路。

场景是这样的:

与非门(NAND)在底层其实是与门和非门的串联,也就是说把与门的输出作为非门的输入。

这件事用电路图画起来倒是没什么难度。转换成Java代码的过程中,为了显得更OO一点,一开始甚至还定义了一个LogicGate接口(捂脸)。但在表示两个门串联的时候,就稍微有点力不从心了。最后竟然还弄了个Line出来。

但是,转眼一想,写成数学公式不就是f(g(x, y))么?其中:
g代表“与门”对应的函数
f代表“非门”对应的函数

对应成Lisp写法跟数学的表达式基本一致。核心代码大概是:(NOT (AND (x y)))

其中,串联无非就是在函数外层再套函数,并联就是把上个函数作为外层函数的入参。比如,异或门可以写为:(AND (NOT (AND (x y))) (OR x y))

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 基于物品的协同过滤算法:(item-based collaborative filtering) ItemCF的一...
    T_129e阅读 224评论 0 0
  • 推荐系统的冷启动问题: 人口统计学特征包括年龄、性别、工作、学历、居住地、国籍、民族等 评分预测问题: 每个用户都...
    T_129e阅读 367评论 0 0
  • 4.17“纸上得来终觉浅,绝知此事要躬行” 本来以为看《我这样整合数学》第二单元中的课例已经看懂了,等要写一个自己...
    gardendong阅读 292评论 0 0
  • 第一、佛教认为,宇宙万有皆无实性,是幻有,唯有心之本源是真实之恒在。禅宗修持,直指人心,识自本源,见性成...
    石竹阅读 512评论 2 6
  • 今天,此时当下,正在天津参加《卓越情绪 成功人生》论坛,再一次体会愤怒、委屈、生气等等各种情绪,信差来敲门了,容我...
    de9f2c3379fd阅读 307评论 0 4

友情链接更多精彩内容