数字逻辑电路设计及应用(10进制转2进制)
电子科技大学数字逻辑设计及应用作业答案

答案+我名字查看考卷——作业提交1当前得分:15 分(总分:100 分),折合成百分制共 15 分。
返回作业提交11.逻辑函数,请问其反函数 。
()()()[参考答案:] 分值:5 得分:分 系统自动批改于2019年9月19日 14点35分2. 有关异或逻辑的描述不正确的是 。
() 异或逻辑的反函数是同或逻辑 () 异或逻辑的对偶逻辑是同或逻辑() 一个逻辑变量和0异或得到的是其反函数 [参考答案:] 分值:5 得分:分 系统自动批改于2019年9月19日 14点35分3. 已知一个逻辑的最小项之和为F(, , )=∑m(0,4,7) ,以下哪个等式成立。
()()()[参考答案:] 分值:5得分:5分系统自动批改于2019年9月19日14点35分4. 下面所描述的逻辑函数表达式中,哪一种可以直接从真值表中得到,而无需其他中间步骤。
() 标准形式() 最简与或式() 与非-与非形式[参考答案:] 分值:5得分:5分系统自动批改于2019年9月19日14点35分5.下面有关最小项的描述正确的是。
()()()[参考答案:] 分值:5得分:0分系统自动批改于2019年9月19日14点35分6. 下面有关逻辑函数的描述中,正确的是。
() 逻辑函数的最小项之和是唯一的() 逻辑函数的最简与或表达式是唯一的() 逻辑函数的与非-与非逻辑表达式是唯一的[参考答案:] 分值:5得分:5分系统自动批改于2019年9月19日14点35分7. 请问或非逻辑的对偶关系是。
() 或非逻辑() 与非逻辑() 与或非逻辑[参考答案:] 分值:5得分:0分系统自动批改于2019年9月19日14点35分8.逻辑函数,请问其最小项之和为。
()()()[参考答案:] 分值:5得分:0分系统自动批改于2019年9月19日14点35分9. 逻辑函数Y(, , , )=∑m(0,2,4,6,9,13) + (1,3,5,7,11,15)的最简与或式为()() +’’() ’+() +[参考答案:] 分值:5得分:0分系统自动批改于2019年9月19日14点35分10.逻辑函数Y的真值表如下:。
设计10以内十进制数判偶电路

项目一逻辑代数基础任务二设计10以内十进制数判偶电路【学习目标】1. 掌握数制与二进制代码的概念2. 掌握利用无关项进行卡诺图的化简3. 掌握根据设计要求,列出真值表的过程4. 掌握用门电路实现10以内十进制数判偶电路的设计【任务引入】对与逻辑函数常用的化简方法有公式法和卡诺图两种,利用卡诺图化简比用公式法化简直观、简单,更容易得到最简表达式。
无关项对函数的逻辑功能并无影响,但是,适当的利用无关项,可以使逻辑函数的表达式得到进一步的简化。
本节内容我们来学习通过对逻辑函数的化简来进行简单的电路设计。
【相关知识】一、二进制码的概念二进制码是逻辑电路中最常用、最重要的一种编码。
下面介绍它的一些基础知识。
1.代码与码制由于数字系统是以二值数字逻辑为基础的,因此数字系统中的信息(包括数值、文字、控制命令等)都是用一定位数的二进制码表示的。
不同的数码不仅可以表示不同的数量,也可以表示不同的事物(如数字、字母、标点符号、命令和控制字等),这时,表示不同事物的数码则称为代码。
编制代码时所遵循的规则称为码制。
2.二-十进制代码二进制编码方式有多种,常用的是二-十进制码,又称BCD码(Binary-Coded-Decimal)。
BCD码是用二进制代码来表示十进制的0~9十个数。
表1-2-1:常用的BCD码【例1-2-1】:十进制数83分别用8421码、2421码和余3码表示为:解:(83)10=(1000 0011)8421码(83)10=(1110 0011)2421码(83)10=(1011 0110)余3码3.十进制的二进制代码表示日常生活中,人们常用的计数制是十进制,而在数字电路中通常采用二进制代码来表示十进制数。
下表1-2-2即为十进制数码和二进制代码的相互转换。
表1-2-2:十进制数码和二进制代码的相互转换二、具有无关项的逻辑函数及其化简1.无关项概念在分析某些具体的逻辑函数时经常会遇到这样一种情况,即输入变量取值不是任意的。
数字逻辑电路设计-(王毓银)讲义.PPT第一章

an1 2n1 an2 2n2 a1 21 a0 20
a1 21 a2 22 am 2m
n1
ai
1.1.2 数制及其转换
小数部分的转换步骤如下: 将小数部分逐次乘以R,取乘 积的整数部分作为R进制的各有关数位,乘积的小数部分 继续乘以R,直至最后乘积为0或达到一定的精度为止。
例4:求(0.3125)10 =(
)2
解: 0.3125 × 2 = 0.625 ……整数为0 b-1
0.625 × 2 = 1.25 ……整数为1 b-2
3基数r为2k各进制之间的互相转换由于3位二进制数构成1位八进制数4位二进制数构成1位十六进制数以二进制数为桥梁即可方便地完成基数r为2k各进制之间的互相转换
西安邮电学院“校级优秀课程”
数字电路与逻辑设计
第一章 绪 论
第一章 绪 论
目的与要求:
1、正确理解一些有关数字电路的基本概念; 2、常用数制数的表示以及它们之间的转换; 3、掌握数字系统中常用的几种BCD码。
1.1.2 数制及其转换
例6:将十进制小数(0.39)10 转换成八进制数, 要求精度达到0.1% 。
解:要求精度达到0.1% ,因为1/83 < 1/1000 < 1/84, 所以需要精确到八进制小数4位。 0.39 × 8 = 3.12 ……整数为3 b-1=3 0.12 × 8 = 0.96 ……整数为0 b-2=0 0.96 × 8 = 7.68 ……整数为7 b-3=7 0.68 × 8 = 5.44 ……整数为5 b-4=5 所以(0.39)10 =(0.3075)8
数字逻辑电路复习题与答案

_、单选题1、十进制整数转换为二进制数一般采用()。
A.除2取整法B.除10取余法C.除2取余法D.除10取整法正确答案:C2、将十进制小数转换为二进制数一般采用()。
A.乘2取整法B.乘10取余法C.乘2取余法D.乘10取整法正确答案:A3、十进制数"13",用三进制表示为()。
A.211B.111C.112D.101正确答案:B4、将十进制数18转换成八进制是().A.20B.24C.22D.21正确答案:C5、十进制数25用8421 BCD码表示为()A.10 010100B.0010 0101C.10 101D.10 000101正确答案:B6、以下代码中为恒权码的是()。
A.余3循坏码B右移码C.5211 码D.余3码正确答案:C7、T立八进制数可以用()位二进制数来表示。
A.4B.3C.1D.2正确答案:B&十进制数43用8421BCD码表示为()。
A.10011B.0100 0011C.101011D.1000011正确答案:B9、A+BC=()A.AB+ACB.BCC・(A+B)(A+C)正确答案:C10、4变量逻辑函数的真值表,表中的输入变量的取值应有()种。
A.4B.2C.16D.8正确答案:C11、f 16选1的数据选择器,其选择控制(地址)输入端有()个,数据输入端有16个,输出端有1个。
A.4B.16C.1D.2正确答案:A12、一个译码器若有100个译码输出端,则译码输入端至少有()个。
A.5B.8C.7D.6正确答案:C13、能实现并-串转换的是()。
A.数据选择器B.数据分配器C.译码器D.数值比较器正确答案:A14、欲设计一个3位无符号数乘法器(即3x3),需要6位输入及()位输出信号。
B.6C.4D.5正确答案:B15、4位输入的二逬制译码器,其输出应有()位。
A.4B.1C.8D.16正确答案:D16、对于8线一3线优先编码器,下面说法正确的是()A.有8根输入线,8根输出线B.有8根输入线,3根输出线C.有3根输入线,8根输出线D.有3根输入线,3根输出线正确答案:B17、3线-8线译码电路是()译码器A.八进制B.三进制C.三位二进制D.H-A进制正确答案:C18、实现多输入、单输出逻辑函数,应选()。
《数字逻辑电路》试题及参考答案

《数字逻辑电路》在线作业参考资料一、单选题1. 一位8421BCD计数器,至少需要(B)个触发器A 3B 4C 5D 102. 在(A)的情况下,函数运算的结果是逻辑“1”A全部输入是“0” B任一输入是“0” C任一输入是“1” D全部输入是“1”3. 表示两个相邻脉冲重复出现的时间间隔的参数叫(A )A.脉冲周期B.脉冲宽度C.脉冲前沿D.脉冲后沿4. 只能读出不能写入,但信息可永久保存的存储器是(A)A.ROMB.RAMC.RPROMD.PROM5. 在(D)的情况下,函数Y=AB运算的结果不是逻辑“0”。
A全部输入是“0”B任一输入是“0”C任一输入是“1”D全部输入是“1”6. 下列哪些信号一定不属于数字信号(A)A.正弦波信号B.时钟脉冲信号C.音频信号D.视频图像信号7. 在(B)的情况下,函数Y=/(AB)运算的结果不是逻辑“0”。
A全部输入是“0”B任一输入是“0”C任一输入是“1”D全部输入是“1”8. 符合六变量m5的相邻最小项,有下列(C )说法成立A. 共有5 个相邻最小项B. m0、m4、m7、m13是它的相邻项C. 共有6 个相邻最小项D. m4、m21、m13、m38是它的相邻项9. 下列器件中,属于时序部件的是(A)A.计数器B.译码器C.加法器D.多路选择器10. 在n变量的逻辑函数F中,有(C )A. 若mi为1,则Mi也为1B. 若F所有mi为0,则F为1C. 若F所有Mi为1,则F为1D. F的任一最小项标记为mni( i = 1~2n )11. 半加器的逻辑功能是(A)A. 两个同位的二进制数相加B. 两个二进制数相加C. 两个同位的二进制数及来自低位的进位三者相加D. 两个二进制数的和的一半12. 1路—4路数据分配器有(A)A.一个数据输入端,两个选择控制端,四个数据输出端B.四个数据输入端,两个选择控制端,一个数据输出端C.一个数据输入端,一个选择控制端,四个数据输出端D.四个数据输入端,一个选择控制端,一个数据输出端13. 全部的最小项之和恒为(B)A.0B.1C.0或1D.非0非114. 对于四变量逻辑函数,最小项有(D)个A.0B.1C.4D.1615. 逻辑表达式A+BC=( C )A. ABB. A+CC. (A+B)(A+C)D. B+C16.在(A)的情况下,函数运算的结果不是逻辑“1”A全部输入是“0” B 任一输入是“0”C任一输入是“1” D全部输入是“1”17. 十进制数25用8421BCD码表示为(B )。
数字逻辑电路

《数字逻辑电路》习题答案一、单选题1、一个最大4位的十进制数转换成二进制数,至少需要( A )位。
A、12B、10C、9D、72、当x= -10000时,则有( D )。
A、[x]原= 100000 B、[x]反= 100001C、[x]补= 101111D、[x]补= 1100003、奇偶校验码满足( B )。
A、能纠错的要求B、发现单错的能力C、对码的位序有特定要求D、传输正确的代码的校验和必为零4、在n变量的逻辑函数F中,有( C )。
A、若mi为1,则Mi也为1B、若F所有mi为0,则F为1C、若F所有Mi为1,则F为1D、F的任一最小项标记为mni( i = 1~2n )5、输入无反变量函数F的化简,讨论的是( B )。
A、函数F的标准与或式B、用禁止逻辑法寻找F的共享禁止项C、函数F中不能出现非运算D、在F的卡诺图上所有的质蕴涵6、符合六变量m5的相邻最小项,有下列( C )说法成立。
A、共有 5 个相邻最小项B、m0、m4、m7、m13是它的相邻项C、共有6 个相邻最小项D、m4、m21、m13、m38是它的相邻项7、在状态化简中,判断状态等效与状态相容时不同点是( A )。
A、传递性B、次态应满足的条件C、隐含表的作用D、最大等效类与最大相容类的的确定8、下列哪些信号属于数字信号( B )。
A、正弦波信号B、时钟脉冲信号C、音频信号D、视频图像信号9、十进制整数转换为二进制数一般采用( A )。
A、除2取余法B、除2取整法C、除10取余法D、除10取整法10、在( D )的情况下,函数ABY 运算的结果是逻辑“1”A、全部输入是“0”B、任一输入是“0”C、任一输入是“1”D、全部输入是“1”11、逻辑表达式ABC =( B )A 、CB A ++ B 、C B A ++ C 、C B A ++D 、C B A ••12、全部的最小项之和恒为( B )A 、0B 、1C 、0或1D 、非0非113、八进制(273)8中,它的第三位数2 的位权为( B )。
数字逻辑设计及应用

(单选题) 1: 下列电路中,是时序电路的是A: 二进制译码器B: 移位寄存器C: 数值比较器D: 编码器正确答案:(单选题) 2: 只能按地址读出信息,而不能写入信息的存储器为A: RAMB: ROMC: PROMD: EPROM正确答案:(单选题) 3: 一个多输入与非门,输出为0的条件是A: 只要有一个输入为1,其余输入无关B: 只要有一个输入为0,其余输入无关C: 全部输入均为1D: 全部输入均为0正确答案:(单选题) 4: 只能按地址读出信息,而不能写入信息的存储器为A: RAMB: ROMC: PROMD: EPROM正确答案:(单选题) 5: 和二进制数110101.01等值的十六进制数是A: 35.4B: 35.1C: D1.4D: 65.2正确答案:(单选题) 6: 属于组合逻辑电路的部件是()A: 编码器B: 寄存器C: 触发器D: 计数器正确答案:(单选题) 7: T触发器中,当T=1时,触发器实现()功能A: 置1B: 置0C: 计数D: 保持正确答案:(多选题) 1: 表达式A+A+A和B×B×B的值分别是A: 0B: 1C: AD: B正确答案:(多选题) 2: 欲从多路输入数据中选取一路输出时,应采用();欲比较两个二进制数数值大小关系时,应采用()。
A: 数据选择器B: 数值比较器C: 加法器D: 触发器正确答案:(判断题) 1: 施密特触发器是一种双稳态电路。
A: 错误B: 正确正确答案:(判断题) 2: 1+A+B=A+BA: 错误B: 正确正确答案:(判断题) 3: 施密特触发器可以用来鉴别脉冲幅度。
A: 错误B: 正确正确答案:(判断题) 4: 某门电路对正逻辑而言是与非门,对负逻辑而言则是或非门。
A: 错误B: 正确正确答案:(判断题) 5: 一个十进制计数器,可以作为十分频器使用。
A: 错误B: 正确正确答案:(判断题) 6: 数据选择器是一种时序电路。
数字逻辑10套题

《数字逻辑电路》试题一一、填空题1.()10=()2=()8=()16。
2.()2=()10。
3.()10=( ) 8421-BCD。
4.A⊕0= 。
5.大体门电路包括、、。
6.A⊙B= 。
7.N各逻辑变量组成某个逻辑函数,那么其完整的真值表应有种不同的组合。
8.数字逻辑电路包括两类,别离是电路和电路。
9.JK触发器的特性方程是。
10.任何时刻,电路的输出,不仅与该时刻电路的输入有关,而且还与电途经去的输入有关的电路,称为电路。
11.F(A,B,C,D)=CD,它包括了个最小项。
12.A(A+B)= 。
13.F=AB+AC,这种形式的逻辑函数表达式称为。
14.F=A·B·A·C这种形式的逻辑函数表达式称为。
15.有18个信息需用二进制代码来表示它们,那么最少需要位二进制。
16.与将JK触发器作成T’(翻转)触发器,应使其J= , K= 。
17.设计一个25进制计数器,最少需要个触发器。
二、选择题1.已知字符T的ASCII码值的十进制数表示为84,若是将最高位设置为奇校验位,那么字符T的ASCⅡ码值设置奇校验位后,它的二进制表示为( )A 01001101B 11001101C 01101011 D2. 以下个数中最大的是()A (.0101) 2B 16C 10 C 83. 在一个逻辑电路中,有两个输入信号X、Y和一个输出信号V。
当且仅当X=一、Y=0时,V=0,那么V的逻辑表达式为()A X+YB X·YC X·YD X+Y4. A·A·B·B·C=( )A ABC C 1D 05. A+BC+AB+A=( )A AB AC 1D 06. F(A,B,C)=ABC+ABC+ABC=( )A ∑m(0,2,4)B ∑m(3,5,7)C ∑m(1,3,5)D ∑m(4,5,7)7. A⊕B=( )A AB+ AB B AB + ABC A BD A B8. 对正逻辑而言,某电路是与门,那么对负逻辑而言是()A 与门B 与非门C 或非门D 或门触发器在同步工作时,假设现态Q n=0,要求抵达次态Q n+1=1,那么应使JK=( )A 00B 01C 1XD X110.图(1)中要求输出F=B,那么A应为( )A 0B 1 A =1 FC B BD B 图(1)三、化简以下函数表达式一、代数化简:Y=(AB+A B+A B)(A+B+D+A B D)二、Y=AB+A B+A B3、卡诺图化简:F=(A,B,C,D)=∑m(0,1,2,3,4,6,8,9,10,11,12,14)四、芯片的应用1.别离用74138和74153实现逻辑函数表达式F=AB+BC+AC2.用1.用与非门设计一个组合电路,用来检测并行输入的四位二进制数B4B3B2B1当其值大于或等于5时,输出F=1,反之F=0。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字逻辑电路设计及应用
C程序设计报告(1)
[问题]:
设计一个C程序实现任意十进制数到二进制数的转换,二进制精度为11位。
[思路]:
1.十进制数转二进制数对整数和小数的处理时不一样的。
所以设计程序时,也应该对读入
的整数和小数的数据分开处理。
(分开的办法可以先直接对浮点数强制类型转换,即可得到整数部分,再用浮点数减整数部分,即可得到小数部分)。
2.对于整数部分,采用的是“除2法”(不知道是不是这个名字……)。
即,每次将该数除
以2,得到的余数作为该位的二进制数,商作为下一次的除数,依此类推,直到商为1或0为止。
3.对于小数部分,采用的是“乘2法”(依然不知道是不是这个名字)。
即,每次将小数部
分乘2,得到的整数部分即为该位的二进制数,小数部分为下一次的乘数。
依此类推,这样做下去是一个无限不循环的小数,所以一般会要求二进制数中小数的精度,本题目要求的是11位。
4.在实际程序设计过程中,我发现了这样一个问题,当小数部分二进制码采用浮点型数据
时,单独输出准确无误,但与整形的整数部分二进制码结合在一起后,最后3位总是不准确的,怀疑是在相加的过程中产生了“大数吃小数”的问题。
按照一般思维,此时应提高精度,采用long double型变量,但是我采用的编译器是采用Windows C的运行库(MS C编译器)的MinGW,其对printf函数不支持long double型。
无奈之下,我只能把小数部分存为一个11位长的数组,再对其输出。
[流程]:
[程序]:
/********************************************************************
/* this is a program to transform decimal nubers to binary nubers.
/* Huang Bohao
/* 2013.3.1
/*2013.3.8:
/*将小数部分用数组形式存储,避免了整数部分与小数部分相加而出现的
/*大数吃小数的情况
********************************************************************/
#include <stdio.h>
int Integer2Binary(int integer);
//将十进制整数转换为二进制数的函数
void Fraction2Binary(double fraction, int BinaryFraction[11]); //将十进制小数转化为二进制数的函数
void main()
{
int i,integer,BinaryInt,BinaryFraction[11];
//待转化数据的整数部分以及转化完成的二进制数
float x,fraction;
//待转化数据和带转化数据的小数部分
printf("please input the decimal number you want to transform\n");
scanf("%f",&x);
integer = (int)x;
fraction = x - integer;
BinaryInt = Integer2Binary(integer);
Fraction2Binary(fraction,BinaryFraction);
printf("the binary number of integer part is %d\n",BinaryInt);
printf("the binary number of fraction part is ");
for(i = 0; i < 11; i++)
printf("%d",BinaryFraction[i]);
printf("\n");
printf("the binary number is %d.",BinaryInt);
for(i = 0; i < 11; i++)
printf("%d",BinaryFraction[i]);
printf("\n");
}
/******************************************************************** /* function name: Integer2Binary
/* input parameter: int integer (integer waiting to be transformed)
/* output parameter: int output (transformed integer)
********************************************************************/ int Integer2Binary(int integer)
{
int B,Y,output,flag;
//B被除数,Y为余数,output为输出数据,flag为位置标记位
B = integer;
flag = 1;
output = 0;
while(1)
{
Y = B%2;
//求得余数
B = B/2;
//求得下一次的被除数
output += Y*flag;
flag *= 10;
if(B == 0)break;
}
return(output);
}
/********************************************************************
/* function name: Fraction2Binary
/* input parameter: double fraction (fraction waiting to be transformed), int BinaryFraction[11]
/* output parameter: float output (transformed integer)
********************************************************************/
void Fraction2Binary(double fraction, int BinaryFraction[11])
{
int i,C;
//C为乘数
double output = 0;
double flag = 0.1;
for(i = 0; i < 11; i++)
{
C = (fraction*2) / 1;
//求得乘数
fraction = (fraction*2) - (int)(fraction*2); //下一次计算的乘数
BinaryFraction[i] = C;
}
}
[运行结果]:
输入十进制数13.76
输入十进制数123.456。