c语言实现基于q-m算法的逻辑化简程序
《数字电路》自由设计
3.C 语言实现
基于Q-M 算法的逻辑化简程序
学院:英才实验学院
班级:2012001020
姓名:赵铭杰
学号:2012019160013
指导老师:胡剑浩
摘要
由W.V.Quine 和McClusky 提出的用列表进行逻辑化简的方法是一种易于以计算机实现的化
简方法。本文利用C++编程,实现了Q-M 法的逻辑化简程序,并进行了输出结果验证。和
前几位同学的程序相比,本程序在输入位宽较大时仍能保证正确输出。最终程序可以用表达
式或者最小项对应十进制数两种方式输入,并且理论上可计算任意位数的逻辑化简,使程序
具有更强的实用性。
(一)背景介绍
1
选用《数字电子技术基础》 中的例子,假定需要化简的五变量逻辑函数化为最小
项之和的形式为:
Y( A, B, C, D, E) m(0,2,3,8,10,14,15,22,24,27,31)
正确的输出结果应该为:
Y( A, B, C, D, E) AB' CDE' A' B' C' D BC' D' E' A' BCD ABDE A' C ' E'
而利用胡凯同学的程序,得到的输出结果如下:
A'.B'.C'.D+A.B'.C.D.E'+B.C'.D'.E'+A.B.D.E