23
! ! 逻辑代数基础 教学目的 掌握十进制 二进制 八进制 十六进制四种数制及其相互之间的转换 掌握逻辑运算的 基本公式和定理 熟练运用公式法和卡诺图进行化简 熟练掌握 !"# 仿真软件的使用方法 技能要求 掌握四种数制及其相互之间的转换 熟练运用公式法和卡诺图进行化简及熟练掌握 !"# 仿真软件的使用方法 !"! ! 数制和码制 !"!"! ! 数制 !! 生活中 常需要用数字量表示物理量的大小或事件的多少 仅用一位数码是不够的 而必须用进位计数的方法组成多位数码来表示一般把多位数码中每一位的构成方法以及 从低位到高位的进位规则称为数制常用的数制有以下几种 !" 十进制数 大家最熟悉的数制是十进制十进制是用 $ % & ' ( ) * + , - 十个不同字符来表示 数的 我们把任意进制中使用字符的个数称为该进制的基或基数十进制使用了十个字符 因此它的基数为 %$ 我们使用的任何一个数都可以用这十个字符按一定规律排列起来表 它的规律是相邻低位数和高位数之间 逢十进一 借一当十 同一个字符处于不同的位置 表示不同的值我们把任意进制中 ! " 称为第 " 位的权 对于十进制来说它的权应该是 %$ " 对于二进制来说它的权应该是 & " 其他进制依此类推 需要注意的是权的底数与它的进制是一致的" 位的计算方法是以小数点为界 整数部 分从右往左依次是第 $ 个位 % 十位 & 百位 ' 千位 等等小数 部分是从左往右依次是第 .% .& .' .( 位等等 例如 有一个十进制数 !/&%'&0) 每一个字符在数中的位置不同 所表示的权就不 ! #&%'& $ ) #& % %$ ' & % % %$ & & ' % %$ % & & % %$ $ & ) % %$ ' % #&$$$ & %$$ & '$ & &$ & $ $ ) $ 个位 和第 ' 千位 上的字符都是 & 但它在第 $ 个位 上的权是 %$ $ 在第 ' 千位 上的权是 %$ ' 它们的含义是不同的

第 章 逻辑代数基础 - press.ustc.edu.cnpress.ustc.edu.cn/sites/default/files/fujian/field_tushuyangzhang... · 数的!我们把任意进制中使用字符的个数称为该进制的基或基数"十进制使用了十个字符!

  • Upload
    others

  • View
    58

  • Download
    0

Embed Size (px)

Citation preview

书书书

第!

章!

逻辑代数基础

教学目的

掌握十进制!二进制!八进制!十六进制四种数制及其相互之间的转换"掌握逻辑运算的

基本公式和定理"熟练运用公式法和卡诺图进行化简"熟练掌握!"#

仿真软件的使用方法#

技能要求

掌握四种数制及其相互之间的转换"熟练运用公式法和卡诺图进行化简及熟练掌握

!"#

仿真软件的使用方法#

!"!

!

数制和码制

!"!"!

!

数制

!!

生活中!常需要用数字量表示物理量的大小或事件的多少!仅用一位数码是不够的!因

而必须用进位计数的方法组成多位数码来表示"一般把多位数码中每一位的构成方法以及

从低位到高位的进位规则称为数制"常用的数制有以下几种"

!"

十进制数

大家最熟悉的数制是十进制"十进制是用$

!

%

!

&

!

'

!

(

!

)

!

*

!

+

!

,

!

-

十个不同字符来表示

数的!我们把任意进制中使用字符的个数称为该进制的基或基数"十进制使用了十个字符!

因此它的基数为%$

"我们使用的任何一个数都可以用这十个字符按一定规律排列起来表

示!它的规律是相邻低位数和高位数之间#逢十进一!借一当十$"

同一个字符处于不同的位置!表示不同的值"我们把任意进制中!

"称为第"

位的权"

对于十进制来说它的权应该是%$

"

!对于二进制来说它的权应该是&

"

!其他进制依此类推"

需要注意的是权的底数与它的进制是一致的"第"

位的计算方法是以小数点为界!整数部

分从右往左依次是第$

位%个位&'第%

位%十位&'第&

位%百位&'第'

位%千位&等等"小数

部分是从左往右依次是第.%

位'第.&

位'第.'

位'第.(

位等等"

例如!有一个十进制数!/&%'&0)

!每一个字符在数中的位置不同!所表示的权就不

同!即

!

#

&%'&$)

#

&

%

%$

'

&

%

%

%$

&

&

'

%

%$

%

&

&

%

%$

$

&

)

%

%$

'

%

#

&$$$

&

%$$

&

'$

&

&$

&

$$)

第$

位%个位&和第'

位%千位&上的字符都是&

!但它在第$

位%个位&上的权是%$

$

!在第'

%千位&上的权是%$

'

!它们的含义是不同的"

在任意进制数中每位所使用的字符称为该位的系数"在十进制中各位的系数可以是

$

!

-

十个字符中的任何一个!因此!任意一个十进制数%

!

&

1

可以表示为

%

!

&

1

#

(

)

'

%

(

)

'

&

(

(

&

(

%

(

$

(

'

%

(

(

'

*

#

(

)

'

%

%

%$

)

'

%

&

(

)

'

&

%

%$

)

'

&

&

(

&

(

&

%

%$

&

&

(

%

%

%$

%

!&

(

$

%

%$

$

&

(

'

%

%

%$

'

%

&

(

&

(

'

*

%

%$

'

*

#

"

)

'

%

"

#'

*

(

"

%

%$

"

其中!下标1

表示十进制数!也可以用数字%$

来表示"

#"

二进制数

在现代数字系统中!广泛采用二进制计数"二进制使用的字符只有$

和%

两个!因此!

它的基数为&

!各位的权为&

"

"二进制的规律是相邻低位数和高位数之间#逢二进一!借一当

二$!即%2%/%$

%读为#一零$&"需要注意的是这里的#

%$

$与十进制中的#

%$

$是完全不相同

的!它并不代表#十$"二进制各位的系数可以是$

!

%

两个字符中的任何一个!因此任一个二

进制数%

!

&

#

表示为

%

!

&

#

#

"

)

'

%

"

#'

*

(

"

%

&

"

其中!下标#

表示二进制数!也可以用数字&

来表示"

例如)

%

%$$%$%

&

&

#

%

%

&

'

&

$

%

&

&

&

$

%

&

%

&

%

%

&

$

&

%

%

&

'

%

$"

八进制数

由于二进制数的位数经常很多!书写与记忆相对比较麻烦"对于计算机的数字系统来

说!常用与二进制数有对应关系的八进制数或十六进制数来表示"

八进制使用的字符有$

!

%

!

&

!

'

!

(

!

)

!

*

!

+

共八个!因此!它的基数为,

!各位的权为,

"

"八

进制的规律是相邻低位数和高位数之间#逢八进一!借一当八$"需要注意的是这里的#

'&

$

与十进制中的#

'&

$是完全不相同的!它并不代表#三十二$"八进制各位的系数可以是$

!

+

八个字符中的任何一个!因此任一个八进制数%

!

&

3

表示为

%

!

&

3

#

"

)

'

%

"

#'

*

(

"

%

,

"

其中!下标3

表示八进制数!也可以用数字,

来表示"

例如)

%

%&$('

&

,

#

%

%

,

%

&

&

%

,

$

&

(

%

,

'

%

&

'

%

,

'

&

%"

十六进制数

十六进制使用的字符有$

!

-

和4

!

#

!

5

!

1

!

!

!

6

共十六个!其中十个为数字字符!六个

为字母字符"十六进制数的基数为%*

!各位的权为%*

"

!它的规律是相邻低位数和高位数之

间#逢十六进一!借一当十六$"十六进制各位的系数可以是$

!

-

和4

!

#

!

5

!

1

!

!

!

6

中的任

何一个!因而任一个十六进制数%

!

&

7

表示为

%

!

&

7

#

"

)

'

%

"

#'

*

(

"

%

%*

"

其中!下标7

表示十六进制数!也可以用数字%*

来表示"

例如)

&

数字电子技术)理论与实践一体化教程

%

'+$&4

&

7

/

'

8

%*

%

2

+

8

%*

$

2

&

8

%*

.

%

2

4

%

%*

'

&

!!

表%0%

为几种常用进制及其对应关系"

表!"!

!

几种常用进制及其对应关系

项!!

目 十进制数 二进制数 八进制数 十六进制数

字符$

!

%

!

&

!

'

!

(

!

)

!

*

!

+

!

,

!

-

$

!

%

$

!

%

!

&

!

'

!

(

!

)

!

*

!

+

$

!

%

!

&

!

'

!

(

!

)

!

*

!

+

!

,

!

-

!

4

!

#

!

5

!

1

!

!

!

6

第"

位的权%$

"

&

"

,

"

%*

"

运算规则逢十进一

借一当十

逢二进一

借一当二

逢八进一

借一当八

逢十六进一

借一当十六

!

!

!

$ $ $ $

% % % %

& %$ & &

' %% ' '

( %$$ ( (

) %$% ) )

* %%$ * *

+ %%% + +

, %$$$ %$ ,

- %$$% %% -

%$ %$%$ %& 4

%% %$%% %' #

%& %%$$ %( 5

%' %%$% %) 1

%( %%%$ %* !

%) %%%% %+ 6

%* %$$$$ &$ %$

%+ %$$$% &% %%

%, %$$%$ && %&

%- %$$%% &' %'

&$ %$%$$ &( %(

!例!"!

"

!

将下列数码分别按权展开"

%

%

&%

)+*0$)

&

1

*

!

%

&

&%

%$%%0$$%

&

#

*

!

%

'

&%

&+0(*

&

3

*

!

%

(

&%

'#045

&

7

"

'

第%

章!

逻辑代数基础

解!

按权展开!即将不同数制的数按每位权值的不同分别展开"

%

%

&%

)+*0$)

&

1

/)8%$

&

2+8%$

%

2*8%$

$

2$8%$

.%

2)8%$

.&

"

%

&

&%

%$%%0$$%

&

#

/%8&

'

2$8&

&

2%8&

%

2%8&

$

2$8&

.%

2$8&

.&

2%8&

.'

"

%

'

&%

&+0(*

&

3

/&8,

%

2+8,

$

2(8,

.%

2*8,

.&

"

%

(

&%

'#045

&

7

/'8%*

%

2#8%*

$

248%*

.%

258%*

.&

"

!"!"#

!

数制间的转换

十进制数是日常生活中常用的一种计数方法!二进制数是计算机中使用的计数方法"

同一个数可以用二进制或十进制等不同进制来表示!那么它们之间必然有一定的转换关系"

!"

十进制数转换为其他进制数

十进制转换为其他进制主要指十进制数转换为二进制数'十进制数转换为八进制数'十

进制数转换为十六进制数"不论何种转换!主要包括两部分!即整数部分的转换和小数部分

的转换"整数部分的转换一般采用#除基取余$的方法进行!小数部分的转换一般采用#乘基

取整$的方法进行"

%

%

&十进制数转换为二进制数

分别将十进制数的整数部分和小数部分转换为二进制数!最后将转换结果相加即可"

"

整数部分的转换"整数部分采用的是除基取余法"由于二进制的基数为&

!所以也

可称为#除&

取余$法"具体方法是将欲转换的十进制整数逐次除以&

!并依次确定每次相除

所得的余数!直到商为$

时止"每次除得的余数作为转换后二进制数的系数!最后一个余数

为转换后二进制数的最高位数!首次相除得到的余数为转换后二进制数的最低位数"

!例!"#

"

!

将%

%'&

&

1

转换为二进制数"

解!

按照除&

取余法进行转换"

所以!%

%'&

&

1

/

%

%$$$$%$$

&

#

"

#

小数部分的转换"小数部分的转换采用乘基取整法"由于二进制的基数为&

!所以

也可称为#乘&

取整$法"具体方法为)将欲转换的十进制小数部分逐次乘以&

!每次相乘!取

所得积的整数部分%

%或$

&!直到所得积的小数部分为$

或达到所要求的精度为止"然后把

每次得到的整数按先得到的为高位!最后得到的为最低位!依次按顺序排列起来即可"

!例!"$

"

!

将%

$0'+)

&

1

转换为相应的二进制数"

解!

按照#乘&

取整$法进行转换"

(

数字电子技术)理论与实践一体化教程

所以!%

$0'+)

&

1

/

%

$0$%%

&

#

"

注意!

十进制数转换为二进制数时!有时可能出现无限位而不能完全转换"在这种情

况下!一般根据精度要求保留一定位数即可"

%

&

&十进制数转换为八进制数

分别将十进制数的整数部分和小数部分转换为八进制数!最后将转换结果相加即可"

"

整数部分的转换"整数部分采用的是除基取余法"由于八进制的基数为,

!所以也

可称为#除,

取余$法"具体方法是将欲转换的十进制整数逐次除以,

!并依次确定每次相除

所得的余数!直到商为$

时止"每次除得的余数作为转换后八进制数的系数!最后一个余数

为转换后八进制数的最高位数!首次相除得到的余数为转换后八进制数的最低位数"

!例!"%

"

!

将%

%'&

&

1

转换为八进制数"

解!

按照#除,

取余$法进行转换"

所以!%

%'&

&

1

/

%

&$(

&

3

"

#

小数部分的转换"小数部分的转换采用乘基取整法"由于八进制的基数为,

!所以

也可称为#乘,

取整$法"具体方法为)将欲转换的十进制小数部分逐次乘以,

!每次相乘!取

所得积的整数部分!直到所得的积小数部分为$

或达到所要求的精度为止"然后把每次得

到的整数按先得到的为高位!最后得到的为最低位!依次按顺序排列起来即可"

!例!"&

"

!

将%

$0()

&

1

转换为相应的八进制数%保留三位小数&"

解!

按照#乘,

取整$法进行转换"

所以!%

$0()

&

1

/

%

$0'(*

&

3

"

%

'

&十进制数转换为十六进制数

分别将十进制数的整数部分和小数部分转换为十六进制数!最后将转换结果相加即可"

)

第%

章!

逻辑代数基础

由于十六进制的基数为%*

!所以整数部分采用#除%*

取余$法!小数部分采用#乘%*

整$法"具体方法与前面介绍的几种类似"

!例!"'

"

!

将%

-,

&

1

转换为十六进制数"

解!

按照#除%*

取余$法进行转换"

所以!%

-,

&

1

/

%

*&

&

7

"

!例!"(

"

!

将%

$0()

&

1

转换为相应的十六进制数%保留三位小数&"

解!

按照#乘%*

取整$法进行转换"

所以!%

$0()

&

1

/

%

$0+''

&

7

"

#"

其他进制数转换为十进制数

其他进制转换为十进制数主要指二进制数转换为十进制数'八进制数转换为十进制数'

十六进制数转换为十进制数"不论是上述的哪种转换!方法都基本相同"转换方法是把每

一位的系数乘以该位所对应的权后将所得的数全部相加就是该数所对应的十进制数"

%

%

&二进制数转换为十进制数

!例!")

"

!

将下列二进制数转换为十进制数"

%

%

&%

%$%$%$%

&

#

*

!!!!!!

%

&

&%

%$%$0$$%

&

#

"

解!

%

%

&

!

%

%$%$%$%

&

#

/%8&

*

2$8&

)

2%8&

(

2$8&

'

2%8&

&

2$8&

%

2%8&

$

/*(2%*2(2%

/

%

,)

&

1

%

&

&

!

%

%$%$0$$%

&

#

/%8&

'

2$8&

&

2%8&

%

2$8&

$

2$8&

.%

2$8&

.&

2%8&

.'

/,2&2$0%&)

/

%

%$0%&)

&

1

%

&

&八进制数转换为十进制数

!例!"*

"

!

将下列八进制数转换为十进制数"

%

%

&%

%&'

&

3

*

!!!!!!!!

%

&

&%

(&0(

&

3

"

解!

%

%

& %

%&'

&

3

/%8,

&

2&8,

%

2'8,

$

/*(2%*2'

/

%

,'

&

1

%

&

& %

(&0(

&

3

/(8,

%

2&8,

$

2(8,

.%

/'&2&2$0)

*

数字电子技术)理论与实践一体化教程

/

%

'(0)

&

1

%

'

&十六进制数转换为十进制数

!例!"!+

"

!

将下列十六进制数转换为十进制数"

%

%

&%

%45

&

7

*

!!!!!!!

%

&

&%

&#0&

&

7

"

解!

%

%

& %

%45

&

7

/%8%*

&

248%*

%

258%*

$

/&)*2%$8%*2%&8%

/

%

(&,

&

1

%

&

& %

&#0&

&

7

/&8%*

%

2#8%*

$

2&8%*

.%

/'&2%%8%2$0%&)

/

%

('0%&)

&

1

$"

二进制数与八#十六进制数之间的转换

由于二进制数和八'十六进制数的基数分别是&

!

,

!

%*

!相互之间可以进行整除!它们之

间相互转换的方法也很类似"

%

%

&二进制数和八进制数的转换

由于三位二进制数可以表示一位八进制数!所以将二进制数转换为八进制数时!方法

是)首先将欲转换的二进制数的整数部分从右向左!每三位为一组!左边不足三位时用零补

齐*其次将小数部分从左向右!每三位为一组!最后不足三位时右边用零补齐*最后将每一组

三位的二进制数所对应的八进制数写出即可"

与此相反!将八进制数转换为二进制数时!只需将每位八进制数用对应的三位二进制数

写出即可"

!例!"!!

"

!

完成下面二进制数和八进制数之间的转换"

%

%

&%

%$%$$0$$%%%$%

&

#

*

!!!!

%

&

&%

%'0&%)

&

3

"

解!

按照转换方法!%

%$%$$0$$%%%$%

&

#

与对应的八进制数之间的关系为

$%$ %$$ $ $$% %%$ %$$

# # # # #

& ( $ % * (

所以!%

%$%$$0$$%%%$%

&

#

/

%

&(0%*(

&

3

"

按照转换方法!%

%'0&%)

&

3

与对应的二进制数之间的关系为

% ' $ & % )

# # # # #

$$% $%% $ $%$ $$% %$%

所以!%

%'0&%)

&

3

/

%

%$%%0$%$$$%%$%

&

#

"

%

&

&二进制数和十六进制数的转换

由于四位二进制数可以表示一位十六进制数!将二进制数转换为十六进制数时!方法

是)首先将欲转换的二进制数的整数部分从右向左!每四位为一组!左边不足四位时用零补

齐*其次小数部分从左向右!每四位为一组!右边不足四位时用零补齐*最后将每一组四位的

二进制数所对应的十六进制数写出即可"

与此相反!将十六进制数转换为二进制数时!只需将每位十六进制数用对应的四位二进

制数写出即可"

!例!"!#

"

!

完成下面二进制数和十六进制数之间的转换"

+

第%

章!

逻辑代数基础

%

%

&%

%%$%%%$$$%0%$$%%%

&

#

*

!!!!

%

&

&%

'!*0#&

&

7

"

解!

按照转换方法!%

%%$%%%$$$%0%$$%%%

&

#

与对应的十六进制数之间的关系为

$$%% $%%% $$$% $ %$$% %%$$

# # # # #

' + % $ - 5

所以!%

%%$%%%$$$%0%$$%%%

&

#

/

%

'+%0-5

&

7

"

按照转换方法!%

'!*0#&

&

7

与对应的二进制数之间的关系为

' ! * $ # &

# # # # #

$$%% %%%$ $%%$ $ %$%% $$%$

所以!%

'!*0#&

&

7

/

%

%%%%%$$%%$0%$%%$$%

&

#

"

!"!"$

!

码制

数码除了表示数量的大小之外!有些时候也可以用来表示文字符号信息"当用数码作

为代号表示不同事物时!称其为代码"一定的代码有一定的规则!这些规则称为码制"建立

这种代码与十进制数值'字母'符号的一一对应的关系称为编码"

!",-.

人们习惯于十进制数码!而计算机内部数据的信息常用二进制代码进行处理!因此产生

了一种利用四位二进制数表示一位十进制数的计数方式!将这种表示十进制数的四位二进

制代码称为二 十进制代码%

#9:;<

=

5>?@?1@A9B;C

&!简称#51

码"

#51

码的编码方式有很

多种!常分为有权#51

码和无权#51

码"有权#51

码是指每位都有固定权值的#51

码!

例如!

,(&%#51

码'

&(&%#51

码'

)(&%#51

码等"无权#51

码是指每位没有固定权值的

#51

码!例如!余'

码和格雷%

D<;

=

&码就是常见的无权#51

码"

%

%

&

,(&%#51

,(&%#51

码是#51

码中使用最多的一种码!其权值由高到低分别为,

%

&

'

&!

(

%

&

&

&!

&

%

&

%

&!

%

%

&

$

&"

,(&%#51

码是由四位二进制数$$$$

%

$

&到%%%%

%

%)

&十六种组合中前十种组

合!即$$$$

%

$

&

!

%$$%

%

-

&构成!其余六种组合是无效的!即%$%$

!

%%%%

六种编码状态在

,(&%#51

码中不允许出现"

!例!"!$

"

!

将%

()

&

1

和%

'*&0+(

&

1

分别用,(&%#51

码表示"

解!

%

()

&

1

/

%

$%$$$%$%

&

,(&C

!!!!!

%

'*&0+(

&

1

/

%

$$%%$%%$$$%$0$%%%$%$$

&

,(&%

!例!"!%

"

!

将%

%$%$%%%

&

,(&%

和%

%$$$$%%0$%%$$%

&

,(&%

分别用十进制数表示"

解!

%

%$%$%%%

&

,(&%

/

%

$%$%$%%%

&

,(&%

/

%

)+

&

1

!!!!!!

%

%$$$$%%0$%%$$%

&

,(&%

/

%

$%$$$$%%0$%%$$%$$

&

,(&%

/

%

('0*(

&

1

%

&

&

&(&%#51

&(&%#51

码也是用四位二进制数表示一位十进制数!即由四位二进制数$$$$

%

$

&到

%%%%

%

%)

&十六种组合中选取另外十种有效组合构成的!如表%0&

所示"

&(&%#51

码的权值

由高到低分别为&

'

(

'

&

'

%

"

&(&%#51

码的特点是具有对-

的自补特性!是一种对-

的自补

代码"例如!十进制数&

的&(&%#51

码为$$%$

!

&

对-

的补码是-.&/+

!

+

的&(&%#51

,

数字电子技术)理论与实践一体化教程

为%%$%

"而$$%$

和%%$%

是本身对位取反的!二者互为反码"

表!"#

!

几种常见的,-.

十进制数,(&%#51

码&(&%#51

码)(&%#51

码 余'

码 格雷码

$ $$$$ $$$$ $$$$ $$%% $$$$

% $$$% $$$% $$$% $%$$ $$$%

& $$%$ $$%$ $$%$ $%$% $$%%

' $$%% $$%% $$%% $%%$ $$%$

( $%$$ $%$$ $%$$ $%%% $%%$

) $%$% %$%% %$$$ %$$$ $%%%

* $%%$ %%$$ %$$% %$$% $%$%

+ $%%% %%$% %$%$ %$%$ $%$$

, %$$$ %%%$ %$%% %$%% %%$$

- %$$% %%%% %%$$ %%$$ %$$$

%$ $$$%

!

$$$$ $$$%

!

$$$$ $$$%

!

$$$$ $%$$

!

$$%% $$$%

!

$$$$

除了以上两种码以外!有权码还有)(&%#51

码'

)&%%#51

码'

+'&%#51

码和

('%%#51

码等"几种常见有权码如表%0&

所示"

%

'

&余'

余'

码也是利用四位二进制数代表一位十进制数"它是在相应的,(&%#51

码基础上

加$$%%

得到的!因此叫做余'

码"它也是一种对-

的自补代码!但各位没有固定的权值!是

一种无权码!如表%0&

所示"

对于,(&%#51

码'

&(&%#51

码'

)(&%#51

码'余'

码等各种#51

码来说!都是从四位

二进制码十六种状态中选取不同的十种用来表示十进制数!还有六种状态没有用到!我们将

其称为伪码"

#"

格雷码与奇偶校验码

为了减少数码在传输过程中可能发生的错误!并便于发现和纠正已经出现的错误!需要

采用可靠性编码"常用可靠性编码包括格雷码'奇偶校验码'海明码等"

格雷码是%,,$

年法国工程师E@;:FG;H<9A@F!BCC@#;H?>I

曾用过的一种编码!因6<;:J

D<;

=

申请专利而得名"它是一种无权码!又称做循环码'反射循环码"由于这种编码相邻

的两个码组之间只有一位不同!在相邻位间转换时!只有一位产生变化!因而大大地减少了

由一个状态到下一个状态时逻辑的混淆"格雷码有多种形式!常见格雷码如表%0&

所示"

二进制数码信息在传输过程中!有时会将%

%

$

&错当做$

%

%

&传输"可以采用奇偶校验码

来检查是否存在错码"奇偶校验的原理是通过计算数据中#

%

$的个数是奇数还是偶数来判

断数据的正确性"它由两部分组成)一是若干位信息码!即需传送的信息%被校验的数据&*

二是一位校验码"奇校验是确保包括信息码和校验码在内的整个被传输的数据中#

%

$的个

数是奇数个!即被校验的数据中#

%

$的个数是奇数个时校验位填#

$

$!否则填#

%

$*偶校验是确

保包括信息码和校验码在内的整个被传输的数据中#

%

$的个数是偶数个!即被校验的数据中

#

%

$的个数是偶数个时校验位填#

%

$!否则填#

$

$"表%0'

给出了,(&%#51

码的奇偶校验码"

-

第%

章!

逻辑代数基础

表!"$

!

)%#!

奇偶校验码

十进制数,(&%

奇校验码,(&%

偶校验码

校验位,(&%#51

码 校验位,(&%#51

$ % $$$$ $ $$$$

% $ $$$% % $$$%

& $ $$%$ % $$%$

' % $$%% $ $$%%

( $ $%$$ % $%$$

) % $%$% $ $%$%

* % $%%$ $ $%%$

+ $ $%%% % $%%%

, $ %$$$ % %$$$

- % %$$% $ %$$%

奇偶校验码只能检验一位代码出错的情况!若代码在传输过程中发生了两位错码!则无

法检验出来!但两位错码同时发生的概率很小!所以奇偶校验码的应用仍然非常广泛"

$"

常用字符代码

字符代码是对常用字母'符号进行的编码"常用的字符代码有4K5LL

码%美国标准信息

交换码&'

LK3

码%国际标准化组织码&和中国国家标准码"

4K5LL

码是七位二进制数组合成的编码!它能表示$

!

-

十个数字码'二十六个英文字

母'各种常用符号及字符等!目前已被确认为国际标准代码"详见附录"

LK3

码是一组八位二进制码!主要用于信息传送"

我国国家标准码是一组八位码!它是在4K5LL

码基础上增加一位奇偶校验码"

!"#

!

基本概念!公式和定理

数字电路中处理数字信号一般常用二进制来进行!二进制中只有#

$

$和#

%

$两个字符"

这里的#

$

$和#

%

$不代表数值的大小!只代表所处的状态"如开关的两种状态#开通$和#关

断$就可以用它们来表示!通常开关的开通用#

%

$表示*开关的关断用#

$

$表示"电平的高低

也可以用它们来表示!通常#

%

$表示高电平*#

$

$表示低电平"数字电路的输入量与输出量一

般就用高低电平来表示!其输出量与输入量之间是一种因果关系!可以用逻辑表达式来描

述!因此数字电路又称为逻辑电路"研究逻辑电路所使用的工具是逻辑代数%又称布尔代

数&"它是由英国数学家乔治+布尔于%,(+

年创建的"逻辑代数是用字母来代替变量!但

逻辑代数与普通代数的概念不同!它不表示数量大小之间的关系!而是描述客观事物一般逻

辑关系的一种数学方法!仅有$

!

%

两种对立的状态%即二值逻辑&!是分析与设计数字系统的

数学基础"同时!逻辑代数仅有三种基本的运算,,,与'或'非"

$%

数字电子技术)理论与实践一体化教程

!"#"!

!

三种基本逻辑运算

基本的逻辑关系有三种)与'或'非"在逻辑代数中与之对应的基本的逻辑运算也有三

种)#与$运算'#或$运算'#非$运算"其他逻辑运算都是通过这三种基本运算来实现的"

!"

与逻辑和与运算

图%0%

是一个与逻辑电路!在这个电路中决定灯泡是否亮的因素有两个!就是开关+

图!"!

!

与逻辑电路图

开关,

!通过电路分析可知!只有开关+

和,

同时

闭合时!电池-

才能通过开关+

和,

给灯泡供电!

灯泡才会亮!否则灯泡不亮"从这个电路中我们可

以总结出与的逻辑关系)只有当决定一件事情%灯

亮&的所有条件%开关+

和,

同时闭合&都具备时!

这件事情%灯亮&才能发生!这种逻辑关系称为与逻

辑关系!简称与逻辑!也称为逻辑乘"若用逻辑表达

式来描述!可写为

.

#

+

+

,

.

#

+,

!!

在与逻辑关系的电路中!开关+

'

,

叫做输入逻辑变量!灯泡.

叫做输出逻辑变量!我们

把开关处于闭合状态用%

表示!开关处于断开状态用$

表示!灯泡处于亮的状态用%

表示!

灯泡处于不亮的状态用$

表示!将变量+

'

,

的取值和.

的取值关系用一张表格列出来"表

%0(

为与运算真值表!图%0&

为与逻辑符号"

表!"%

!

与运算真值表

+ , ./+

+

,

$ $ $

$ % $

% $ $

% % % 图!"#

!

与逻辑符号

#"

或逻辑和或运算

图%0'

是一个或逻辑电路!在这个电路中决定灯泡是否亮的因素有两个!就是开关+

图!"$

!

或逻辑电路图

开关,

!通过电路分析可知!只要开关+

和,

有一个或一个以上开关闭合!电池-

就能通过

开关+

或,

给灯泡供电!灯泡就会亮"只有当

开关+

和,

都断开时!灯泡才不亮"从这个电

路中我们可以总结出或的逻辑关系)当决定某

一件事情%灯亮&的几个条件%开关+

'

,

接通&

中!只要有一个或一个以上的条件具备!事件

%灯亮&就会发生!这种逻辑关系!就称为或逻辑

关系!简称或逻辑!也称为逻辑加"若用逻辑表

%%

第%

章!

逻辑代数基础

达式描述!可写为

.

#

+

&

,

式中#

2

$表示+

'

,

或运算"

同样!开关处于闭合状态用%

表示!开关处于断开状态用$

表示!灯泡处于亮的状态用%

表示!灯泡处于不亮的状态用$

表示"表%0)

为或运算真值表!图%0(

为或逻辑符号"

表!"&

!

或运算真值表

+ , ./+2,

$ $ $

$ % %

% $ %

% % % 图!"%

!

或逻辑符号

$"

非逻辑和非运算

图%0)

是一个非逻辑电路!在这个电路中决定灯泡是否亮的因素只有一个!就是开关

+

!通过电路分析可知!开关+

断开时灯泡是亮的*而当开关+

闭合时!灯泡是不亮的"从这

个电路中我们可以总结出非的逻辑关系)当决定一件事情%灯亮&的条件不具备时!该事件才

会发生"我们把这样的逻辑关系叫做非逻辑关系!简称非逻辑!或逻辑非"若用逻辑表达式

描述!可写为

.

#

+

!!

逻辑变量+

的逻辑非!表示为+

!

+

读做#

+

非$或#

+

反$"由于不论输入变量+

还是

输出变量.

都只有两种取值$

或%

!因此得非运算规律)

$/%

!

%/$

"

图%0*

为非逻辑符号"

图!"&

!

非逻辑电路图 图!"'

!

非逻辑符号

!"#"#

!

常用逻辑运算

除了上述三种最基本的逻辑运算!还有一些复合逻辑运算!例如!与非'或非'与或非'异

或'同或等逻辑运算"复合逻辑运算是用最基本的三种逻辑运算经过有限个组合而构成的"

!"

与非运算

与非运算是由与运算和非运算两种基本逻辑运算按照先与后非的顺序复合而成的!其

逻辑表达式为

&%

数字电子技术)理论与实践一体化教程

.

#

+

+

,

对于与非运算!只有当其全部输入为%

时!输出才为$

"与非运算的真值表如表%0*

所示"

#"

或非运算

或非运算是由或运算和非运算两种基本逻辑运算按照先或后非的顺序复合而成的!其

逻辑表达式为

.

#

+

&

,

对于或非运算!只有当其全部输入为$

时!输出才为%

"或非运算的真值表如表%0+

所示"

表!"'

!

与非运算真值表

+ , .

$ $ %

$ % %

% $ %

% % $

表!"(

!

或非运算真值表

+ , .

$ $ %

$ % $

% $ $

% % $

$"

与或非运算

与或非运算是由与运算'或运算和非运算三种基本逻辑运算按照先与后或再非的顺序

复合而成的"有四个基本输入端的与或非逻辑运算表达式为

.

#

+,

&

/0

与非'或非'与或非逻辑运算的逻辑符号如图%0+

所示"

图!"(

!

复合逻辑运算的逻辑符号

%"

异或运算

异或运算的含义是)当两个输入相同时!输出为$

*当两个输入不同时!输出为%

"异或

逻辑表达式为

.

#

+,

&

+,

#

+

$

,

其中!#

$

$是异或运算的运算符号"异或运算的真值表如表%0,

所示"

&"

同或运算

同或运算的含义是)当两个输入相同时!输出为%

*当两个输入不同时!输出为$

"同或

逻辑表达式为

.

#

+,

&

+,

#

+

%

,

其中!#

%

$是同或运算的运算符号"同或运算的真值表如表%0-

所示"

'%

第%

章!

逻辑代数基础

表!")

!

异或运算真值表

+ , .

$ $ $

$ % %

% $ %

% % $

表!"*

!

同或运算真值表

+ , .

$ $ %

$ % $

% $ $

% % %

!!

异或'同或逻辑运算的逻辑符号如图%0,

所示"

图!")

!

复合逻辑运算的逻辑符号

!"#"$

!

基本公式!定理和基本运算规则

熟悉和掌握逻辑函数的运算规则!将为数字电路的分析和设计带来很多方便!逻辑函数

的运算主要包括公理'基本公式和基本定律'基本规则"

!"

逻辑代数的公理

这些逻辑公理符合逻辑推理!不用证明"表%0%$

为逻辑代数的公理"

表!"!+

!

逻辑代数的公理

公理%

%/$ %/$

公理& %

+

%/% $2$/$

公理' $

+

%/$ %

+

$/$

公理( $2%/% %2$/%

公理) $

+

$/$ %2%/%

公理*

如果+

不为$

!则+/%

如果+

不为%

!则+/$

#"

逻辑代数的基本公式

逻辑代数的基本公式如表%0%%

所示"

(%

数字电子技术)理论与实践一体化教程

表!"!!

!

逻辑代数的基本公式

定 律 名 称 定 律 内 容

$F%

律+

+

$/$ +2%/%

自等律+

+

%/+ +2$/+

重叠律+

+

+/+ +2+/+

互补律+

+

+/$ +2+/%

交换律+

+

,/,

+

+ +2,/,2+

结合律+

+%

,

+

/

&

/

%

+

+

,

&+

/ +2

%

,2/

&

/

%

+2,

&

2/

分配律+

+%

,2/

&

/+,2+/ +2,

+

//

%

+2,

&%

+2/

&

吸收律+

%

+2,

&

/+

+2+,/+2,

反演律+,/+2, +2,/+,

还原律+/+

其中!反演律也叫摩根%

G><

M

;:

&定律!是数字逻辑变换中经常要用到的定律!该定律还

可以推广为多变量的普遍形式!如

+,/0

#

+

&

,

&

/

&

0

+

&

,

&

/

&

0

#

+,/0

!!

!例!"!&

"

!

利用列真值表法证明摩根定律+,/+2,

"

证!

列真值表法证明等式成立!即在同样一组输入逻辑变量取值的情况下!等号两边的

函数值相等!则等式成立"

+,/+2,

的真值表证明如表%0%&

所示"

表!"!#

!

例!"!&

的证明

输入逻辑变量 等式左边 等式右边

+ ,

+, +2,

结!!

$ $ % %

两边相等

$ % % %

两边相等

% $ % %

两边相等

% % $ $

两边相等

$"

逻辑代数的常用公式

逻辑代数的常用公式如表%0%'

所示"

表!"!$

!

逻辑代数的常用公式

公式%

+,2+,/+

%

+2,

&%

+2,

&

/+

公式&

+2+,/+2, +

%

+2,

&

/+,

公式'

+,2+//

%

+2/

&%

+2,

& %

+2,

&%

+2/

&

/+/2+,

)%

第%

章!

逻辑代数基础

续表

公式(

+,2+/2,//+,2+/

+,2+/2,/0-/+,2+/

%

+2,

&%

+2/

&%

,2/

&

/

%

+2,

&%

+2/

&

公式)

+,2+,/+,2+,

公式*

++,/+, ++,/+

公式的证明除了可以用列真值表的方法证明外!还可以有其他的证明方法!如可以从公

式左边推导等于右边!也可以从公式右边推导等于左边!还可以从左边推导至一个中间的式

子!然后从右边也推导至同一个中间的式子!从而说明左边等于右边"下面我们分别看一下

这几种方法的证明过程"

!例!"!'

"

!

证明常用公式+2+,/+2,

"

证!

对于这个公式的证明我们可以采用从公式左边推导等于右边的方法来实现"

左边#

+

%

%

&

,

&

&

+,

#

+

&

+,

&

+,

#

+

&

,

%

+

&

+

&

#

+

&

,

#

右边

!!

!例!"!(

"

!

证明常用公式+,2+//

%

+2/

&%

+2,

&"

证!

对于这个公式的证明我们可以采用从右边推导等于左边的方法来实现"

右边#

++

&

+,

&

+/

&

,/

#

+,

&

+/

&

,/

%

+

&

+

&

#

+,

&

+/

&

+,/

&

+,/

#

%

+,

&

+,/

&

&

%

+/

&

+,/

&

#

+,

&

+/

#

左边

!!

!例!"!)

"

!

证明常用公式%

+2,

&%

+2/

&%

,2/

&

/

%

+2,

&%

+2/

&"

证!

对于这个公式的证明我们可以采用从左边推导至一个中间的式子!然后从右边也

推导至同一个中间的式子!说明左边等于右边"

左边#

%

++

&

+/

&

+,

&

,/

&%

,

&

/

&

!!!!!!

#

+,/

&

+,

&

,/

&

+/

&

+,/

#

,/

%

+

&

%

&

&

+,

%

%

&

/

&

&

+/

#

,/

&

+,

&

+/

右边#

++

&

+/

&

+,

&

,/

#

,/

&

+,

&

+/

!!!!

%"

逻辑代数的基本规则

逻辑代数中有三个重要的规则!分别是代入规则'反演规则和对偶规则"运用这些规则

可以帮我们解决很多实际问题"

%

%

&代入规则!!

在任何一个含有变量+

的逻辑等式中!如果将等式两边所有出现变量+

的地方!都代

之以一个逻辑函数!则此等式仍然成立!这个规则称为代入规则"

*%

数字电子技术)理论与实践一体化教程

!例!"!*

"

!

已知等式+

+

,/+2,

!将函数1

%

/

!

0

&

//0

代替原等式中的变量,

!证

明等式仍然成立"

证!

将1

%

/

!

0

&

//0

代入原等式"等式左边为

+

+

,

#

+

+

/0

#

+

&

/0

等式右边为

+

&

,

#

+

&

/0

因为等式左边等于等式右边!所以等式成立"

注意!

代入规则只适用于逻辑等式!并不是所有带等号的式子都是逻辑等式"如逻辑

函数表达式带有等号!但不是逻辑等式!所以不能使用代入规则"

%

&

&反演规则

对于任一逻辑函数1

!欲求其反函数1

!可以将1

中所有的原变量变为反变量!反变量

变为原变量*#+$变为#

2

$!#

2

$变为#+$*

$

变为%

!

%

变为$

!那么所得的逻辑函数式就是

1

"这个规则称为反演规则"

在求反函数的过程中!应注意两点)第一点!保证原来的运算顺序!即运算的优先顺序为

先括号'然后逻辑与'最后逻辑或*第二点!应注意非单个变量上的非号应保持不变!即非号

下面包含两个或两个以上的变量时!这个非号应保留不变!否则很容易出错"

!例!"#+

"

!

利用反演法则!求逻辑函数1

的反函数"

%

%

&

1/

%

+2,

&%

/20

&

2-

*

!

%

&

&

1/+,202/2/

"

解!

利用反演法则可直接写出函数1

的反函数"

%

%

&

1/

%

+2,

&%

/20

&

2-

1/

%

+,2/0

&

-

%

&

&

1/+,202/2/

1/

%

+2,

&

0//

%

'

&对偶规则

对于任一逻辑函数1

!将1

中的#+$变为#

2

$!#

2

$变为#+$!

$

变为%

!

%

变为$

!而变

量保持不变!得到一个新的逻辑函数12

!称其为函数1

的对偶函数或对偶式"也可以说函

数1

和12

互为对偶式"

若两个逻辑函数相等!则它们的对偶函数也相等"这就是对偶法则!即1/3

!

12/32

"

在求逻辑函数1

的对偶式12

时也应注意保证原来运算的优先顺序"

!例!"#!

"

!

利用对偶法则!求逻辑函数1

的对偶函数"

%

%

&

1/

%

+2,

&%

/20

&

2-

*

!

%

&

&

1/+,202/2/

"

解!

%

%

&

1/

%

+2,

&%

/20

&

2-

12/

%

+,2/0

&

-

%

&

&

1/+,202/2/

12/

%

+2,

&

0//

有时可以采用证明两个逻辑函数各自对偶式相等的方法来证明两个逻辑函数相等"在

求函数对偶式的过程中!应注意保持原函数的运算顺序不变"

+%

第%

章!

逻辑代数基础

!"$

!

逻辑函数的化简

!"$"!

!

逻辑函数化简的意义及其最简式

!!

在进行逻辑运算时常常会看到!逻辑函数表达式并不是唯一的!它可以写成不同的形

式!因此实现同一种逻辑关系的数字电路也可以有很多种"

例如!下面是同一逻辑函数的两个不同表达式)

1

#

+,/

&

,/

&

+/0

1

#

+/

&

,/

显然!下式比上式简单得多"为了提高数字电路的可靠性!尽可能减少所用的元器件数!希

望得到逻辑函数最简单的表达式!就需要通过化简的方法找出逻辑函数的最简形式"

一个逻辑函数可以有多种不同的逻辑表达式!例如!与 或表达式'或 与表达式'

与非 与非表达式'或非 或非表达式'与 或 非表达式等"具体表示如下)

1

#

+,

&

+/

!

%与 或表达式&

#

%

+

&

,

&%

+

&

/

&

!

%或 与表达式&

#

+,

&

+/

#

+,

+

+/

!

%与非 与非表达式&

#

+

&

,

&

+

&

/

!

%或非 或非表达式&

#

+,

&

+/

!

%与 或 非表达式&

!!

在以上几种逻辑函数表达式中!与 或表达式比较常见!并且具有两个特点)第一!逻辑

乘积项的数目最少*第二!在满足乘积项最少的条件下!每个乘积项里的变量个数也最少"

因此此逻辑函数形式为最简形式"

与 或表达式可以比较容易地与其他形式表达式相互转换!由与 或表达式转换为与非

与非表达式的形式时!可用摩根定理来变换"

例如!将逻辑函数表达式1/+,2+/

变换成与非 与非表达式)

1

#

+,

&

+/

#

+,

+

+/

!!

!例!"##

"

!

将逻辑函数表达式1/+/2,2+/2,0

化为与非 与非表达式"

解!

首先将1

化成标准的与 或表达式)

1

#

+/,

&

+/

&

,0

再根据反演定理即得到

1

#

+/,

&

+/

&

,0

#

+/,

+

+/

+

,0

!!

!例!"#$

"

!

试将与 或表达式1/+,2+/2,/

化为与 或 非表达式"

解!

首先将1

化为最小项之和的形式)

1

#

+,

&

+/

&

,/

#

+,/

&

+,/

&

+,/

&

+,/

&

+,/

&

+,/

,%

数字电子技术)理论与实践一体化教程

#

"

*

%

$

!

%

!

'

!

(

!

*

!

+

&

1

#

"

*

%

&

!

)

&

1

#

"

*

%

&

!

)

&

#

+,/

&

+,/

!!

在分析具体问题时!应根据题目要求!进行函数不同表达形式之间的转换"但必须注

意!将最简与 或表达式直接变换为其他类型的逻辑式时!得到的结果不一定也是最简的"

!"$"#

!

公式化简法

各种表达式有繁有简!函数表达式简化可以在节约元件的基础上!提高可靠性"我们需

要对逻辑函数进行化简!常用的化简方法有两种)一是使用逻辑代数的基本公式和常用公式

对函数进行化简!使函数最简!称为公式化简法"常用的方法包括吸收法'消去法'合并项

法'配项法*另一种是利用卡诺图进行化简!称为图形化简"

!"

吸收法

利用+2+,/+

等公式!将两项合并为一项!并消去一个变量"

!例!"#%

"

!

用吸收法化简逻辑函数1/+,2+,/

%

02-

&"

解!

1/+,2+,/

%

02-

&

/+,

-

%2/

%

02-

&.

/+,

!例!"#&

"

!

用吸收法化简逻辑函数1/,2+,/

"

解!

1/,2+,//,

%

%2+/

&

/,

#"

消去法

利用公式+2+,/+2,

消去多余的变量+

"

!例!"#'

"

!

用消去法化简下列逻辑函数)

1

%

#

+

&

+/

&

,/0

!

!

1

&

#

+,

&

+/

&

,/

!!

解!

1

%

/+2+/2,/0/+2/2,/0/+2/2,0

!!

1

&

/+,2+/2,//+,2

%

+2,

&

//+,2+,//+,2/

$"

合并项法

利用公式+,2+,/+

把两项合并为一项!消去变量,

"

!例!"#(

"

!

用合并项法化简下列逻辑函数)

1

%

#

+,/

&

+,/

!

!

1

&

#

+,/

&

+,/

&

+,

!!

解!

1

%

/+,/2+,//+,

%

/2/

&

/+,

!!!!!!!

1

&

/+,/2+,/2+,/+,

%

/2/

&

2+,/+,2+,/+

%"

配项法

利用公式+2+/%

!

+2+/+

!在函数中以某一项乘以+2+

!再拆成两项与其他项合

并!或函数中重复写入某一项!有时会得到更加简化的结果"

!例!"#)

"

!

用配项法化简下列逻辑函数)

1

%

#

+,

&

,/

&

,/

&

+,

!

!

1

&

#

+,/

&

+,/

&

+,/

!!

解1

%

/+,2,/2,/2+,

/+,

%

/2/

&

2

%

+2+

&

,/2,/2+,

-%

第%

章!

逻辑代数基础

/+,/2+,/2+,/2+,/2,/2+,

/

%

+2%

&

,/2+/

%

,2,

&

2+,

%

/2%

&

/,/2+/2+,

1

&

/+,/2+,/2+,/

/+,/2+,/2+,/2+,/

/+,

%

/2/

&

2

%

+2+

&

,/

/+,2,/

通过以上例题可见!函数1

%

/+,2,/2,/2+,

很像是最简的与 或表达式!需要进

行认真的观察才能找出继续化简的方法"在实际化简过程中!有时需要综合运用以上各种

方法才能得到结果"在使用配项法时!我们选取所配的项不同!最后化简的结果可能会不相

同!但不论最后化简的具体结果为何式!它们最简的形式是一样的"

!例!"#*

"

!

化简函数1/+,2+/2,/2+,-2+0-

%

,2/

&"

解!

1/+,2+/2,/2+,-2+0-

%

,2/

&

/+

%

,2/

&

2,/2+,-2+0-

%

,2/

&

/+,/2,/2+,-2+0-

%

,2/

&

/+2,/2+,-2+0-

%

,2/

&

/+2,/

以上对函数进行化简!均是对函数的与 或表达式进行的"而对函数的或 与表达式!除

应用以上方法对函数进行变换化简外!也可以首先使用对偶法则!将函数的或 与表达式转

换成与 或对偶表达式!对对偶表达式进行化简后!再求一次对偶!得到化简后的原函数"

!例!"$+

"

!

化简函数1/

%

+2,

&%

+2/20

&%

+2/

&%

,2/

&"

解!

因为

1

#

%

+

&

,

&%

+

&

/

&

0

&%

+

&

/

&%

,

&

/

&

所以

12

#

+,

&

+/0

&

+/

&

,/

#

+,

&

+/0

&

/

%

+

&

,

&

#

+,

&

+/0

&

/+,

#

+,

&

/

&

+/0

#

+,

&

/

1

#

% &

122

#

%

+

&

,

&

/

!"$"$

!

卡诺图化简法

利用公式法化简逻辑函数!不仅要求熟练掌握逻辑代数的公式'定理!而且还需要掌握

一定的化简技巧!更难的是经过化简后的逻辑函数形式是否最简难以判断"这就给许多人

带来了一定的困难"借助卡诺图化简相对于公式法化简更加直观'简捷!容易掌握!并且可

以比较简便地得到最简的逻辑表达式"

卡诺图化简法!又称为逻辑函数的图形化简法!它是由美国工程师卡诺于&$

世纪)$

$&

数字电子技术)理论与实践一体化教程

代首先提出来的"将)

个变量的全部最小项各用一个小方块表示!并使具有逻辑相邻性的

最小项在几何位置上也相邻地排列起来!按一定的规则把小方块中所有的最小项进行合并

处理!就可以得到简化的逻辑函数表达式!这就是卡诺图化简"由于它是建立在最小项基础

上的!下面我们先来说明一下最小项的基本概念"

!"

最小项和最小项表达式

%

%

&最小项的定义

设+

!

,

!

/

是三个逻辑变量!由这三个变量可以构成许多乘积项!例如!

+,

%

/2/

&!

+,

!

+,/

!

+,

%

/2,

&!

+,//

等等"其中有一类乘积项为

+,/

!

!

+,/

!

!

+,/

!

!

+,/

!

!

+,/

!

!

+,/

!

!

+,/

!

!

+,/

这八个乘积项具有以下特点)

"

每项都只有三个因子*

#

每个变量都是它的一个因子*

$

每个变量都以原变量或反变量的形式出现并且仅出现一次"因此这八个乘积项称为三

个变量+

!

,

!

/

的最小项"除了这八项外!其余乘积项都不同时符合这三个特点!它们都不

是最小项"

由上面分析可知!在包含)

个变量的逻辑函数中!如果*

为包含这)

个变量的乘积项!

而这)

个变量均以原变量或反变量的形式在*

中出现并且仅出现一次!则称*

为该逻辑函

数的一个最小项"三个变量的最小项个数为&

'

/,

!同理!四个变量的最小项个数为&

(

/%*

!

对于)

个变量的逻辑函数!其最小项有&

)个"为了方便我们对最小项进行编号!一般用*

"

表示第"

个最小项)在输入变量顺序确定后!将某一最小项中的原变量记为%

!反变量记为$

!

由此形成一个二进制数!此二进制数对应的十进制数即为"

"例如!最小项+,/

对应的变量

取值为%$$

!即十进制数为(

!所以该最小项记做*

(

"在函数的最小项表达式中!可能包含

所有的最小项!也可能只包含部分最小项"需要注意)对于三个变量函数来说!

+,/

的组合

是一个最小项!而对于四个变量的逻辑函数来说!

+,/

就不是最小项了"表%$%(

列出了三

个变量逻辑函数1

%

+

!

,

!

/

&的八个最小项"

表!"!%

!

三变量最小项的编号

序号 输入变量+,/

对应的最小项 最小项编号

$ $

!

$

!

$

+,/

*

$

% $

!

$

!

%

+,/

*

%

& $

!

%

!

$

+,/

*

&

' $

!

%

!

%

+,/

*

'

( %

!

$

!

$

+,/

*

(

) %

!

$

!

%

+,/

*

)

* %

!

%

!

$

+,/

*

*

+ %

!

%

!

% +,/

*

+

%

&

&最小项的性质

为了分析最小项的性质!我们首先看一下三个变量的最小项真值表!表%$%)

为三个变

量最小项真值表"

%&

第%

章!

逻辑代数基础

表!"!&

!

三个变量最小项真值表

+,/

+,/ +,/ +,/ +,/ +,/ +,/ +,/

+,/

$$$ % $ $ $ $ $ $ $

$$% $ % $ $ $ $ $ $

$%$ $ $ % $ $ $ $ $

$%% $ $ $ % $ $ $ $

%$$ $ $ $ $ % $ $ $

%$% $ $ $ $ $ % $ $

%%$ $ $ $ $ $ $ % $

%%% $ $ $ $ $ $ $ %

"

在一个逻辑函数中!任何一个最小项!只有一组变量取值使其为%

!而在变量取其他

各组值时!这个最小项的值都是$

"不同的最小项!使其为%

的变量取值不同"

#

对于同一个变量取值!任意两个最小项的与为$

!因为在相同变量的取值下!不可能

使两个不相同的最小项同时取%

值"

$

对于变量的任意一组取值组合!所有最小项%

&

)项&的和为%

"

%

'

&逻辑函数的最小项表达式

一个逻辑函数可以用最小项之和的形式表示!称为函数的最小项之和表达式!即标准

与 或表达式"例如!

1

%

+

!

,

!

/

&

/+,/2+,/2+,/

是函数的最小项之和表达式"下面介

绍一下求逻辑函数最小项表达式的方法"

"

通过真值表求最小项表达式"首先列出逻辑函数1

的真值表!从真值表中找出使逻

辑函数1

为%

的变量取值组合*其次写出和这些取值组合相对应的最小项*最后将这些最小

项用或连接起来!即可得到该逻辑函数1

的最小项表达式"

!例!"$!

"

!

三个变量逻辑函数1

%

+

!

,

!

/

&的真值表如表%$%*

所示!试写出其最小项之

和的标准形式"

表!"!'

!

例!"$!

的真值表

输入逻辑变量 输出逻辑变量

+ , / 1

$ $ $ $

$ $ % %

$ % $ $

$ % % %

% $ $ $

% $ % $

% % $ %

% % % $

解!

首先找出使逻辑函数构成函数1

为%

的项"由上表可知)当+,/

取值为$$%

!

&&

数字电子技术)理论与实践一体化教程

$%%

!

%%$

时!

1

为%

*其次写出和这些取值组合相对应的最小项!即+,/

!

+,/

!

+,/

三项*最

后将这些最小项用或连接起来!该函数最小项之和表达式为

1

#

+,/

&

+,/

&

+,/

#

*

%

&

*

'

&

*

*

!!#

从一般表达式求最小项表达式"在由一般表达式求最小项表达式时!可以先将函数

变换成与 或表达式!然后利用配项法将逻辑函数中的每一项都化成包含所有变量的最小

项"即若某一与项缺少一变量4

!则在该与项中添加424

项!再展开即可"

!例!"$#

"

!

三变量逻辑函数1

%

+

!

,

!

/

&

/+,2+/2,/2+,/

!写出其最小项之和的

标准形式"

解!

首先观察得知!第一项缺少变量/

!我们给它配上/2/

!第二项缺少变量,

!我们

给它配上,2,

"第三项缺少变量+

!我们给它配上+2+

!第四项是最小项!不用再配变量*

其次展开各项*最后将各项进行整理即可"注意)如果有几项的最小项相同!只保留一项"

1

%

+

!

,

!

/

&

#

+,

&

+/

&

,/

&

+,/

#

+,

%

/

&

/

&

&

+/

%

,

&

,

&

&

,/

%

+

&

+

&

&

+,/

#

+,/

&

+,/

&

+,/

&

+,/

&

+,/

&

+,/

&

+,/

#

+,/

&

+,/

&

+,/

&

+,/

&

+,/

#

*

%

&

*

(

&

*

)

&

*

*

&

*

+

#

"

*

%

%

!

(

!

)

!

*

!

+

&

#"

卡诺图

将一个逻辑函数最小项表达式中的各最小项相应地填入一个特定的方格内!此方格称

为卡诺图"卡诺图的特点是具有逻辑相邻性的最小项在图中位置相邻"逻辑相邻性是指如

果两个最小项仅有一个因子互反!而其他因子都相同!则称这两个最小项具有逻辑相邻性"

因此卡诺图在同一列中最上端和最下端相邻!在同一行中最左端和最右端相邻"

如变量数为)

的逻辑函数!其最小项应有&

)个!所以该逻辑函数的卡诺图应包含&

)个方

格"下面我们看看两变量'三变量及四变量的卡诺图"如图%$-

所示!图中小方格中*

的下

标数代表相应最小项的编号"

图!"*

!

二#三#四变量的空白卡诺图

对于函数的最小项表达式!逻辑函数包含哪个最小项!就在构成函数最小项的相应方格

中填%

!其余方格填$

或空着不填即可"

!例!"$$

"

!

1

%

+

!

,

!

/

&

#

"

*

%

%

!

(

!

)

!

*

!

+

&!试用卡诺图表示"

解!

1

%

+

!

,

!

/

&

#

"

*

%

%

!

(

!

)

!

*

!

+

&可以用卡诺图表示!如图%$%$

所示"

'&

第%

章!

逻辑代数基础