请教下怎么用卡诺图化简逻辑函数 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在答技术问题时复制粘贴 AI 生成的内容
brader
V2EX    程序员

请教下怎么用卡诺图化简逻辑函数

  •  
  •   brader 2023-03-29 10:02:15 +08:00 1913 次点击
    这是一个创建于 936 天前的主题,其中的信息可能已经有所发展或是发生改变。


    卡诺图我会画,就是一直搞不懂,最后一步到底是怎么通过卡诺图得到的 F=AB+BC ,是直接通过图可以观察得到?还是它中间省略了很多化简步骤?所以我一直搞不明白
    10 条回复    2023-03-29 12:46:09 +08:00
    RecursiveG
        1
    RecursiveG  
       2023-03-29 10:21:26 +08:00
    基本就是观察,用最少的矩形覆盖并仅覆盖所有 1 。这个矩形是可以跨边界的(类似吃豆人)。
    你可以画个 `BD+!B!D` 的卡诺图感受一下。
    brader
        2
    brader  
    OP
       2023-03-29 10:32:42 +08:00
    @RecursiveG 我知道圈的 1 要尽量大,但是我不明白的是,这个图得到的为什么是 F=AB+BC ,而不是 F=AB+CD 、F=AC+CD 之类的
    jmc891205
        3
    jmc891205  
       2023-03-29 10:33:26 +08:00
    用卡诺图化简逻辑函数的步骤[1]:
    - 如果表达式为最小项表达式,则可直接填入卡诺图
    - 如表达式不是最小项表达式,但是“与或表达式”,可将其先化成最小项表达式,再填入卡诺图。也可直接填入。
    - 合并相邻的最小项,即根据下述原则画圈
    - 尽量画大圈,但每个圈内只能含有 2 n 2^{n}( n=0,1,2,3……)个相邻项。要特别注意对边相邻性和四角相邻性。
    圈的个数尽量少。
    - 卡诺图中所有取值为 1 的方格均要被圈过,即不能漏下取值为 1 的最小项。
    - 在新画的包围圈中至少要含有 1 个未被圈过的 1 方格,否则该包围圈是多余的。
    - 写出化简后的表达式。每一个圈写一个最简与项,规则是,取值为 l 的变量用原变量表示,取值为 0 的变量用反变量表示,将这些变量相与。然后将所有与项进行逻辑加,即得最简与或表达式。

    在进行化简时,如果用图中真值为 0 的项更方便,可以用他们来处理,方法和真值取 1 时一样,只是结果要再做一次求反。

    [1]: https://zh.wikipedia.org/wiki/%E5%8D%A1%E8%AF%BA%E5%9B%BE#%E7%94%A8%E5%8D%A1%E8%AF%BA%E5%9B%BE%E5%8C%96%E7%AE%80%E9%80%BB%E8%BE%91%E5%87%BD%E6%95%B0%E7%9A%84%E6%AD%A5%E9%AA%A4
    1647846714
        4
    1647846714  
       2023-03-29 10:39:32 +08:00
    @brader 找 1 ? 横这的那个,AB 对应 11 ,CD 全都取到了所以是 AB ;圈的那个,AB 对应 01 和 11,B 是 1 ,CD 对应的是 11 和 10 ,C 是 1 ,所以是 BC
    oldshensheep
        5
    oldshensheep  
       2023-03-29 10:45:13 +08:00 via Android
    都快忘了,看了维基百科,现学现卖。
    横着的框,当且仅当 K=AB 时 K=1
    1100, 1101, 1111, 1110 = 1
    K=ABCD

    方框,当且仅当 K=BC 时 K=1
    0111, 0110, 1111, 1110 = 1
    K=ABCD

    合起来就是 F=AB+BC

    其实就是找圈圈中恒为 1 的字母
    lucinakushinada
        6
    lucinakushinada  
       2023-03-29 11:06:42 +08:00
    @brader 1*4 的矩形里,当 AB=1 时,不论 C 和 D 取什么,结果都为 1 ,也就是和 CD 没关系,故得 AB 。
    同理,2*2 得矩形里,当 BC=1 时,A 和 D 的取值不论为什么,结果都为 1 ,也就是和 CD 没关系,故得 BC
    简单的说,找矩形框里恒为 1 的信号,每个矩形框找一组把他们与起来,最后把所有的结果或
    lucinakushinada
        7
    lucinakushinada  
       2023-03-29 11:08:44 +08:00
    @llr8031 勘误一下,AB=1 ,CD=1 中插入一个逗号
    brader
        8
    brader  
    OP
       2023-03-29 11:15:53 +08:00
    @jmc891205
    @1647846714
    @oldshensheep
    感谢各位,听君一言如醍醐灌顶,我总结了各位给的答案,按自己的理解去套用了几个题目,都能得到正确答案,那应该没错了,我说一下我总结的东西,不对的地方欢迎指正:
    每一个圈中,恒为 1 或 0 ( 0 的用反变量表示)的变量留下来相与,然后将不同的圈进行逻辑加。
    例 1:如我的提问,横圈( AB 在 4 个格子都是 1 ,留下来相与)+方圈( BC 在 4 个格子都是 1 ,留下来相与),最后得到 AB+BC
    例 2:

    下面的圈( AB 在 2 个格子都是 1 ,留下来相与)+上面的圈( A 在 2 个格子都是 0 ,取!A ,C 在 2 个格子都是 1 ,留下来相与),最后得到 AB+!AC
    brader
        9
    brader  
    OP
       2023-03-29 11:19:00 +08:00
    @llr8031 帮忙看看我上面总结的对不对,按您说这个,应该还少一个恒为 0 的,也得找出来才是,对吧
    lucinakushinada
        10
    lucinakushinada  
       2023-03-29 12:46:09 +08:00
    @brader 是的,恒为 0 的也要找出来,归纳的没有问题
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1377 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 23:58 PVG 07:58 LAX 16:58 JFK 19:58
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86