《【教学课件】第2章数制和编码.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第2章数制和编码.ppt(59页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第2 2章章数制和编码1主要内容n计算机中的常用计数制、编码及其相互间的计算机中的常用计数制、编码及其相互间的转换;转换;n二进制数的算术运算和逻辑运算;二进制数的算术运算和逻辑运算;n符号数的表示及补码运算;符号数的表示及补码运算;n二进制数运算中的溢出问题;二进制数运算中的溢出问题;n基本逻辑门及译码器;基本逻辑门及译码器;n定点数与浮点数的表示方法。定点数与浮点数的表示方法。22.1 计算机中的数制n了解:各种计数制的特点及表示方法;了解:各种计数制的特点及表示方法;n掌握:各种计数制之间的相互转换。掌握:各种计数制之间的相互转换。3一、常用计数制n十进制十进制符合人们的习惯符合人们的
2、习惯n二进制二进制便于物理实现便于物理实现n十六进制十六进制便于识别、书写便于识别、书写4十进制n特点:以十为底,逢十进一;特点:以十为底,逢十进一;共共有有0-90-9十个数字符号十个数字符号。n表示:表示:权表达式权表达式n:整数位数m:小数位数5二进制n特点:以特点:以2为底,逢为底,逢2进位;进位;只有只有0和和1两个符号。两个符号。(数后面加数后面加B)n表示:表示:n:整数位数m:小数位数6十六进制n特点:有特点:有0-9及及A-F共共16个数字符号,个数字符号,逢逢16进位。进位。(数后面加数后面加H)n表示:表示:n:整数位数m:小数位数7任意任意K K进制数的表示进制数的表示
3、一般地,对任意一个一般地,对任意一个K进制数进制数S都可表示为都可表示为其中:Si-S的第i位数码,可以是K个符号中任何一个;n,m 整数和小数的位数;K-基数;Ki-K进制数的权8例n234.98 或或(234.98)10n1101.11B 或或(1101.11)2nABCD.BFH 或或(ABCD.BF)169二、各数制间的转换n非十进制数非十进制数 十进制数:十进制数:按相应的按相应的权表达式权表达式展开展开,再按十进制求和。再按十进制求和。n例:例:24.AH=2161+4160+A16-1 =36.625注:AF分别用1015代入10十进制 非十进制数n十进制十进制 二进制:二进制:
4、整数:除整数:除2取余;取余;小数:乘小数:乘2取整。取整。n十进制十进制 十六进制:十六进制:整数:除整数:除16取余;取余;小数:乘小数:乘16取整。取整。以小数点为起点求得整数和小数的每一位。以小数点为起点求得整数和小数的每一位。注:十进制转换成注:十进制转换成任意任意K进制数进制数与上类似,整:除与上类似,整:除K取余,小数:乘取余,小数:乘K取整。取整。11十进制到十六进制转换例400.25=(?)Hn400/16=25 -余数余数=0(个位)(个位)n25/16=1 -余数余数=9(十位)(十位)n1/16=0 -余数余数=1(百位)(百位)n0.2516=4.0-整数整数=4(1
5、/10)即:即:400.25=190.4H12二进制与十六进制间的转换n用用4位二进制数表示位二进制数表示1位十六进制数位十六进制数 0000 -0H 1001 -9H 1010 -AH 1011 -BH 1100 -CH 1101 -DH 1110 -EH 1111 -FH13二进制与十六进制间的转换例:例:0101 1000 1001.1100 5 8 9 .C 注意:位数不够时要补注意:位数不够时要补0142.2 无符号二进制数的运算二进制数二进制数算术运算算术运算逻辑运算逻辑运算无符号数无符号数有符号数有符号数:算术运算算术运算15一、无符号数的算术运算n加法运算加法运算n减法运算减法
6、运算n乘法运算乘法运算n除法运算除法运算16注意点:n对加法:对加法:1+1=0(有进位)(有进位)n对减法:对减法:0-1=1(有借位)(有借位)n对乘法:仅有对乘法:仅有11=1,其余皆为,其余皆为0 0;乘以乘以2相当于左移一位。相当于左移一位。n对除法:对除法:除以除以2则相当于右移则相当于右移1位。位。17例n000010110100=00101100B n000010110100=00000010B 即:商即:商=00000010B 余数余数=11B18二、无符号数的表示范围一个一个n位的无符号二进制数位的无符号二进制数X,其表示,其表示范围为:范围为:0 0 X 2 2n n-1
7、-1 若运算结果超出这个范围,则产生溢出。若运算结果超出这个范围,则产生溢出。溢出的溢出的判别方法:判别方法:运算时,当最高位向更高位有进位(或借位)运算时,当最高位向更高位有进位(或借位)时则产生溢出时则产生溢出。19例:例:最高位向前有进位,产生溢出。最高位向前有进位,产生溢出。本例中:运算结果为本例中:运算结果为256,超出位二进制数所,超出位二进制数所 能表示的范围能表示的范围255。20三、逻辑运算与与()或(或()非(非()异或(异或()掌握掌握:逻辑关系(真值表)和逻辑门。:逻辑关系(真值表)和逻辑门。特点:按位运算,无进位特点:按位运算,无进位/借位。借位。21“与”、“或”运
8、算n任何数和任何数和“0”相相“与与”,结果为,结果为0n任何数和任何数和“1”相相“或或”,结果为,结果为1BACABC&1AB=CAB=C22“非”、“异或”运算n“非非”运算即按位求反运算即按位求反n两个二进制数相两个二进制数相“异或异或”:相同则为相同则为0,相异则为,相异则为1AABC1 B=AA B=CB23“与非”、“或非”运算AB=C AB=CBACABC&124四、译码器n74LS138译码器:译码器:G1G2AG2BCBAY0Y7 38译码器原理译码使能端译码输入端译码输出端2574LS138真值表真值表使使 能能 端端输输 入入 端端输输 出出 端端G1 G2A G2B
9、C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y71.0 12.1 0 3.1 1 4.0 5.1 0 06.1 0 07.1 0 08.1 0 09.1 0 010.1 0 011.1 0 012.1 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1
10、1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 262.3 符号数的表示及运算计算机中的符号数的表示方法:计算机中的符号数的表示方法:把二进制数的最高位定义为符号位把二进制数的最高位定义为符号位。符号位:符号位:“0”表示正,表示正,“1”表示负。表示负。n把符号也数值化了的数,称为把符号也数值化了的数,称为机器数机器数。n机器数所表示的真实的数值,称为机器数所表示的真实的数值,称为真值真值。注:后面的讲述均以8位二进制数为例。27例n+52=+0110100=0 0110100 符号位符号位 数值位数值位 n-52 =-0110100=1
11、0110100 真值真值机器数机器数28一、符号数的表示:n对于符号数,机器数常用的表示方法有对于符号数,机器数常用的表示方法有原码原码、反码反码和和补码补码三种。数三种。数X的原码记作的原码记作X原原,反码记作,反码记作X反反,补码记作,补码记作X补补。注意:对正数,三种表示法均相同。注意:对正数,三种表示法均相同。它们的它们的差别在于对负数的表示差别在于对负数的表示。29原码X原n最高位为符号位,用最高位为符号位,用“0”表示正,用表示正,用“1”表示负;表示负;数值部分照原样写出即可。数值部分照原样写出即可。n优点优点:真值和其原码表示之间的对应关真值和其原码表示之间的对应关 系简单,容
12、易理解;系简单,容易理解;n缺点缺点:计算机中用原码进行加减运算比计算机中用原码进行加减运算比 较困难,较困难,0的表示不唯一的表示不唯一。正式定义为:正式定义为:30数0的原码n+0=0 0000000 -0=1 0000000 即:数即:数0的原码不唯一。的原码不唯一。31原码的例子真值:X=+18=+0010010X=-18=-0010010原码:X原=0 0010010X原=1 0010010符号符号位 n位原码表示数值的范围是:位原码表示数值的范围是:对应的原码是对应的原码是1111 011132反码X反对一个数对一个数X:n若若X0,则,则 X反反=X原原n若若X0,则则X补补=X
13、反反=X原原n若若X0,则则X补补=X反反+1正式定义为:正式定义为:36例nX=52=0110100 X原原=10110100 X反反=11001011 X补补=X反反+1=11001100370的补码n+0补补=+0原原=00000000n-0补补=-0反反+1=11111111+1 =1 00000000 n位补码表示数值的范围是位补码表示数值的范围是对应的补码是对应的补码是1000 0111对对8位字长,进位被舍掉位字长,进位被舍掉38特殊数10000000n该数在原码中定义为:该数在原码中定义为:-0n在反码中定义为:在反码中定义为:-127n在补码中定义为:在补码中定义为:-128
14、n对无符号数,(对无符号数,(10000000)B=128398/16位符号数的表示范围对对8位二进制数:位二进制数:n原码:原码:-127 +127n反码:反码:-127 +127n补码:补码:-128 +127对对16位二进制数:位二进制数:n原码:原码:-32767 +32767n反码:反码:-32767 +32767n补码:补码:-32768 +3276740符号二进制数与十进制的转换对用补码表示的二进制数:对用补码表示的二进制数:1)求出真值)求出真值 2)进行转换)进行转换41例将一个用补码表示的二进制数转换为十进制数。将一个用补码表示的二进制数转换为十进制数。nX补补=0 010
15、1110B 真值为:真值为:0101110B 正数正数 所以:所以:X=+46nX补补=1 1010010B 真值不等于:真值不等于:-1010010B 负数负数 而是:而是:X=X补补补补=11010010补补 =-0101110=-4642二、符号数的算术运算n通过引进补码,可将减法运算转换为加法运算。通过引进补码,可将减法运算转换为加法运算。n即:即:X+Y补补=X补补+Y补补 X-Y补补=X+(-Y)补补=X补补+-Y补补其中其中X,Y为正负数均可,符号位参与运算。为正负数均可,符号位参与运算。43补码的运算是基于模的运算 模模(module)就是一个计数系统的最大容量就是一个计数系统
16、的最大容量。例如钟表例如钟表的模为的模为12,8位二进制数的模为位二进制数的模为28,等等,等等。凡是用器件进行的运算都是有模运算,运算结果超过模凡是用器件进行的运算都是有模运算,运算结果超过模的部分会被运算器的部分会被运算器自动丢弃自动丢弃。因此,当器件为。因此,当器件为n位时,有位时,有 X=2n+X (mod 2n)根据定义,根据定义,X补补=2n+X (mod 2n)因此可得,因此可得,X Y补补=2n+2n+(X Y)(mod 2n)=(2n+X)+(2n Y)(mod 2n)=X补补+Y补补44例X=-0110100,Y=+1110100,求,求X+Y=?nX原原=10110100
17、 nX补补=X反反+1=11001100nY补补=Y原原=01110100n所以:所以:X+Y补补=X补补+Y补补 =11001100+01110100 =01000000 X+Y=+100000045符号数运算中的溢出问题n两个两个8位带符号二进制数相加或相减时,位带符号二进制数相加或相减时,若若 C7 C61 则结果产生溢出。则结果产生溢出。其中:其中:C7为最高位的进为最高位的进(借借)位;位;C6为次高位的进为次高位的进(借借)位。位。对16位或32位的运算,也有类似结论。46观察以下四种情况哪个溢出?1 0 1 1 0 1 0 1 +1 0 0 0 1 1 1 1 1 0 1 0 0
18、 0 1 0 0 0 1 0 0 0 0 1 0 +0 1 1 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 0 0 0 0 1 0 +1 1 0 0 1 1 0 1 1 0 0 0 0 1 1 1 1CASE1:CASE2:CASE3:假定以下运算都是有符号数的运算。假定以下运算都是有符号数的运算。0 0 1 0 0 0 1 0 +1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1CASE4:47例:n若:若:X=01111000,Y=01101001 则:则:X+Y=即:即:次高位向最高位有进位,而最高位向前无次高位向最高位有进位,而最高位向前无 进位,产生溢出。
19、进位,产生溢出。(事实上,两正数相加得出负数,结果出错)(事实上,两正数相加得出负数,结果出错)482.4 定点数与浮点数n定点数:小数点位置固定不变的数。定点数:小数点位置固定不变的数。n小数点的位置:小数点的位置:n纯小数n纯整数符号符号X1X2Xn小数点位置小数点位置符号符号X1X2Xn小数点位置小数点位置49浮点数n浮点数来源于科学记数法浮点数来源于科学记数法n例如:+123.5=+0.123103 -0.001235=-0.12310-2n浮点数:用阶码和尾数表示的数,尾数通常为纯小数。浮点数:用阶码和尾数表示的数,尾数通常为纯小数。2EF数符数符阶阶E阶符阶符尾数尾数F小数点位置小
20、数点位置阶码阶码5080 x86中使用的IEEE标准浮点数n单精度浮点数(阶码偏移单精度浮点数(阶码偏移7FH)n双精度浮点数(阶码偏移双精度浮点数(阶码偏移3FFH)数符数符阶阶E(11位位)尾数尾数F(52位位),整数部分默认为,整数部分默认为1小数点位置小数点位置数符数符阶阶E(8位位)尾数尾数F(23位位),整数部分默认为,整数部分默认为1小数点位置小数点位置 31 30 23 22 0 63 62 52 51 051例:n将将1011.10101用用8位阶码、位阶码、15位尾数的规格位尾数的规格化浮点数形式表示。化浮点数形式表示。解:因为解:因为1011.101010.1011101
21、0124 所以要求的浮点数为:所以要求的浮点数为:00000100101 1101 0100 00000阶码阶符数符尾数(后补0到15位)n用用IEEE标准单精度浮点数重做上题。标准单精度浮点数重做上题。因为因为1011.101011.0111010123,阶为阶为7FH+3=82H=10000010B所以要求的浮点数为:所以要求的浮点数为:010000010011 1010 1000 0000 0000 0000522.4 计算机中的编码用于表示非数值型数据。常用的二种:用于表示非数值型数据。常用的二种:lBCD码码l用二进制编码的十进制数lASCII码码l美国标准信息交换代码53BCD码n
22、压缩压缩BCD码码n用4位二进制码表示一位十进制数,一个字节可放2位十进制数。n非压缩非压缩BCD码码n用8位二进制码表示一位十进制数,高4位总为0。54BCD码与二进制数之间的转换n先转换为十进制数,再转换二进制数;反先转换为十进制数,再转换二进制数;反之同样。之同样。n例例:(0001 0001.0010 0101)BCD =11.25 =1011.01B55ASCII码n字符的编码,一般用字符的编码,一般用7位二进制码表示。位二进制码表示。n见教材附录An用用8位二进制数表示时,最高位总为位二进制数表示时,最高位总为0,因,因此最高位(此最高位(D7位)可作为奇偶校验位。位)可作为奇偶校
23、验位。n熟悉熟悉16进制数进制数0-F的的ASCII码:码:n30H-39H,41H-46H56ASCII码的校验n奇校验奇校验 加上校验位后编码中加上校验位后编码中“1”的个数为奇数。的个数为奇数。例:例:A的的ASCII码是码是41H(1000001B),),以奇校验传送则为以奇校验传送则为C1H(11000001B)n偶校验偶校验 加上校验位后编码中加上校验位后编码中“1”的个数为偶数。的个数为偶数。上例若以偶校验传送,则为上例若以偶校验传送,则为41H。57结束语掌握:掌握:n三种常用计数制及编码的表示及其相互间三种常用计数制及编码的表示及其相互间的转换;的转换;n无符号二进制数的算术运算和逻辑运算;无符号二进制数的算术运算和逻辑运算;n符号数的表示及补码的运算;符号数的表示及补码的运算;n基本逻辑门和译码器;基本逻辑门和译码器;n定点数及浮点数的表示方法。定点数及浮点数的表示方法。58作业:n2.2n2.6n2.7的(的(1),(),(3)小题)小题n2.11n设设X=+100101,Y=-0110110 求求X+2Y=?59