1、数字逻辑,刘红日 2#实验楼308,1,2,第一章 数制与编码,现代计算机通常都是标准的数字系统,数字系统内部处理的是离散元素,并且采用称为信号的物理量表示,一般为电压和电流,因而现实社会中的各种信息在数字系统内部呈现出不同的形式 。这一章就是用来讲解计算机中怎样用电压和电流这样的物理量来表示现实社会中的丰富的信息的。,3,1.1 进位计数制,定义:进位计数制就是采用本位计数到一个标准值后向高位进位从而利用具有不同的权重的多位数来计数的方法 采用进位计数制,一个数字可以表示为:,4,在十进制( Decimal Number)中,每一位可以用09共十个数码来表示, a的取值可以是09这十个数码,
2、对比两式得出基数k=10。当一个数超过9时就必须用多位数来表示。十进制数的运算规则为: “逢十进一”、 “借一当十”。 提问:如果有小数,那么小数上的权是多少呢?,5,在九进制中,每一位可以用08共九个数码来表示, a的取值可以是08这九个数码,基数k=9。当一个数超过8时就必须用多位数来表示。九进制数的运算规则为: “逢九进一”、 “借一当九”。,6,二进制数(Binary Number)的表示,在数字系统中,当进位基数为2时,称为二进制。在二进制中只有0和1两个数码。二进制的计数规则是由低位向高位“逢二进一”,即每位计满2就向高位进1。例如(1101)2 就是一个二进制数。不同数位的数码表
3、示的值不同,各位的权值是以2为底的连续整数幂,从右向左递增。,7,对任意一个二进制数N,用位置计数法表示为(N)2=(an-1an-2a1a0.a-1a-2a-m)2 用按权展开法表示为 (N)2=an-12n-1+an-22n-2+a121+a020+a-12-1+a-22-2+a-m2-m=ai2i ( i的值为从-m到n-1) 式中:ai表示各个数字符号(即数码),为0或1,n为整数部分的位数,m为小数部分的位数。 对二进制数的表示,可以在数字右下角标2或B.,8,例 1.1 进行1101+1011运算,解 1101+101111000,例1.2 进行11101-10011运算解 111
4、01100111010,9,例1.3 进行11011001运算解 1101100111010000000011011110101,10,例1.4 进行100100011011运算 解 1101 -商1011100100011011111010111101101110 -余数,11,其他进制数的表示,人们也常采用八进制数(Octal)和十六进制数(Hexadecimal)来表示一个数。八进制数的基数是8,采用的数码是0,1,2,3,4,5,6,7。计数规则是从低位向高位“逢八进一”,对于相邻两位来说,高位的权值是低位权值的8倍。 例如(47.6)8就表示一个八进制数。通常在八进制数字的 右下角标
5、注8或O。,12,十六进制数的基数为16,采用的数码是0,1,2,3,4,5,6,7,8,9, A, B, C, D, E, F。其中,A,B,C,D,E,F分别代表十进制数字10,11,12,13,14,15。十六进制的计数规则是从低位向高位“逢十六进一”,对于相邻两位来说,高位的权值是低位权值的16倍。例如,(54AF.8B)16就是一个十六进制数。通常,在十六进制数字的右下角标注16或H。,13,1.2 数制转换 1.2.1 二进制数与十进制数的转换,1、R进制(R为任意值)转换成十进制的方法: 按权展开法:先写成多项式,然后计算十进制结果. N= dn-1dn-2 d1d0d-1d-2
6、 d-m =dn-1Rn-1+dn-2Rn-2+ d1R1+d0 R0+d-1R-1+d-2R-2+ d-mR-m,14,例如: 写出(1101.01)2,(237)8,(10D)16的十进制数,(1101.01)2=123+122+021+120+ 02-1+12-2 =8+4+1+0.25=13.25(237)8=282+381+780 =128+24+7=159(10D)16=1162+13160=256+13=269,15,2、十进制转换成二进制方法,分为两个步骤: 一.整数部分的转换 除2取余法(基数除法) 二.小数部分的转换 乘2取整法(基数乘法),16,除2取余法(整数部分的转换
7、) 基数除法:把给定的数除以基数,取余数作为最低位的系数,然后继续将商除以 基数,余数作为次低位系数,重复操作直至商为 0 例如:用基数除法将(327)10转换成二进制数,2 327 余数,2 163 1,2 81 1,2 40 1,2 20 0,2 10 0,2 5 0,2 2 1,2 1 0,2 0 1,(327)10 =(101000111) 2,17,乘2取整法 (小数部分的转换) 把给定的十进制小数乘以2,取其整数作为二进制小数的第一位,然后取小数部分继续乘以2,将所得的整数部分作为第二位小数,重复操作直至小数为零或达到要求的精度。,例如:将(0.8125) 10 转换成二进制小数.
8、整数部分2 0.8125=1.625 12 0.625=1.25 12 0.25=0.5 02 0.5=1 1(0.8125) 10 =(0.1101) 2,18,再如:将(0.2) 10 转换成二进制小数,有无限位。,0.2 2 = 0.4 整数部分 0 0.4 2 = 0.8 0 0.8 2 = 1.6 1 0.6 2 = 1.2 1 0.2 2 = 0.4 0 0.4 2 = 0.8 0 0.8 2 = 1.6 1 0.6 2 = 1.2 1(0.2) 10 = 0.001100110011. 2,19,1.2.2 八进制数、十六进制数与二进制数的转换,二 八 二 十六 000 0 00
9、00 0 1000 8 001 1 0001 1 1001 9 010 2 0010 2 1010 A 011 3 0011 3 1011 B 100 4 0100 4 1100 C 101 5 0101 5 1101 D 110 6 0110 6 1110 E 111 7 0111 7 1111 F,back,20,二进制转换成八进制,例:(10110111 .01101) 2,(10110111.01101) 2 =(267.32)8,八进制对应数: 2 6 7 . 3 2,二进制数补位: 010 ,110 , 111 . 011 , 010,二进制数分段: 10 ,110 , 111 .
10、 011 , 01,以小数点为界线三位一组,21,八进制转换二进制,方法:先逐位转换,再去掉无效数位(两头零) 例如:(123.46 ) 8=(001,010,011 .100,110 ) 2 =(1010011.10011)2,22,二进制转换成十六进制,例:(110110111 .01101) 2,(10110111.01101) 2 =(1B7.68)16,得到十六进制: 1 B 7 . 6 8,二进制数补位: 0001 ,1011 , 0111 . 0110 ,1000,二进制数分段: 1 ,1011 , 0111 . 0110 ,1,以小数点为界线 四位一组,23,十六进制转换成二进
11、制,方法:先逐位转换,再去掉无效数位 例如: (7AC.DE ) 16=(0111,1010,1100.1101,1110 ) 2 =(11110101100 .1101111 )2,24,Question 1:计算机中采用的是二进制而非其它进制数,为什么?,25,二进制的特点(共3点),二进制运算规则简单。加法规则 0+0=0 0+1=1 1+0=1 1+1=0(同时向相邻高位进1)减法规则 00=0 10=1 11=001=1 (同时向相邻高位借1) 乘法规则 00=0 01=0 1 0=0 11=1除法规则 01=0 11=1,26,2. 二进制数只有0和1两个数码,所以很容易用现实世界
12、中物体的两个状态与之对应,例如电源开关的打开和闭合;电灯的亮和灭;阀门的打开和关闭;电位的高和低。因为只有0和1两个数字,所以使数字的传输和处理不容易出错,可靠性高。 3. 二进制数的数码0和1,可与逻辑代数中逻辑变量的值“假”和“真”对应起来。也就是说,可用一个逻辑变量来表示一个二进制数码。所以人们可以用逻辑代数来研究数字逻辑这门科学。,27,Question2 :计算机可以识别的是二进制,为什么要引入十六进制和八进制? Answer : 方便记忆 方便书写 加快转换,28,1.3 带符号数的代码表示,1.4 数的定点表示和浮点表示(因为在计算机组成原理中讲述,本课程删去上述内容。),29,
13、1.5 其他信息的代码表示 1.5.1 十进制数码的二进制编码,十进制数的二进制编码可以有许多种编码方案,每种编码都主要是从编码简单与否(涉及到编码器的逻辑电路的简单化问题)以及处理的可靠性两个方面有不同的侧重。,30,十进制数常用的二进制代码,8421码 2421码 余3码8421码为有权代码, 0 0000 0000 0011数值为N=8d3+4d2+2d1+1d0 1 0001 0001 0100十进制数63.29的BCD码为: 2 0010 0010 01010110 0011 . 0010 1001 3 0011 0011 01104 0100 0100 01112421码为有权代码
14、, 5 0101 1011 1000数值为N=2d3+4d2+2d1+1d0 6 0110 1100 1001十进制数63.29的BCD码为: 7 0111 1101 10101100 0011 . 0010 1111 8 1000 1110 1011余3码为无权代码,对应8421码 9 1001 1111 1100 加3而得。,31,1.5.2 可靠性编码,1. 格雷码:又称为循环码,特点是任意 两个相邻的代码之间仅有1位不同。,二进 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001,十进 0 1 2 3 4 5 6 7 8 9,格雷 000
15、0 0001 0011 0010 0110 0111 0101 0100 1100 1000,32,2. 奇偶校验码:是一种能检验出二进制信 息在传送过程中出现错误的代码。,由两部分组成:一部分是信息位;另一部分是奇偶校验位。 分成奇校验和偶校验两种。 广泛应用于计算机网络数据交换,33,1.5.3 字符代码,计算机处理的数据除了数字,还有字母、标点、运算符号及其它特殊符号,把它们统称为字符。计算机中字符也必须用二进制来表示,我们把表示各种字符的二进制代码称为字符代码。,34,ASCII码,ASCII码(American Standard Code For Information Interc
16、hange,美国国家信息交换标准字符码),每字符用一个字节表示,共有128个字符(最高位为0)。其中 96个字符供显示、打印使用,余下32个 为控制字符。 扩展ASCII码可表示256个编码 还有一种6位的ASCII码,即去掉了26个英文小写字母。,35,1.5.4 汉字,输入码:拼音、五笔 机内码:规定两个字节的二进制编码,表示汉字6763个,其中两个字节的最高位都为1 输出交换码:显示汉字点阵字库,打印汉字点阵字库,36,1.5.5 图形、图像,2种方法:矢量图象、位图图象。 矢量图象用数学方法描述一幅图,然后变成许多数学表达式,再编程用语言来表达。矢量图象文件占空间较小,旋转、放大、缩小
17、、倾斜等变换操作容易,且不变形、不失真。它适用于计算机辅助设计。 位图图象把一幅图分成许多象素,每个象素用几个二进制位来表示该象素的颜色和亮度,适用于描述照片、图象。相对于矢量图形文件,位图图象文件占存储空间比较大。,37,1.5.6 颜色,RGB三原色方法:每个RGB原色成分数值范围均为(0255),占用一个字节(8位)。因此一种颜色含RGB三种成分占用三个字节(24位),这就是24位真彩色的由来了。 HSV方法是利用多为二进制分别表示饱和度、亮度和纯度,38,1.5.7 声音,声音是一种模拟信号,因而想要存储到计算机内部,首先应改将其变化成数字信号,主要采用采样量化技术,然后将量化的信号利用二进制表示即可。,39,1.5.8 视频,将视频图像采样成一幅幅图像,然后利用处理图像的技术来处理,当然还需要同时存储将散图像还原成视频的方法。,小结,进位计数制 数制转换方法 数码和字符的代码表示,40,