电子计算机中信息的表示及其运算37课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《电子计算机中信息的表示及其运算37课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子计算机 信息 表示 及其 运算 37 课件
- 资源描述:
-
1、第二章 电子计算机中信息的表示及其运算n进位计数制n机器内数据及符号的表示方法n微型计算机的数据类型n数的运算方法2.1 进位计数制512=5*102+1*101+2*100系数系数基数基数权数权数2.1.1 概述n基本概念n权数权数:数值N中各数码所在的位置n系数系数:数值N中各位置上的数码n基值基值:数值N中各个位置上所能表示的数码 的个数n进位计数制的表示方法 假设有一数值 N N=(dn-1dn-2d1d0d-1d-m)r N=dn-1rn-1+dn-2 rn-2+d1 r1+d0 r0 +d-1 r-1+d-m r-m r:基值 di:系数 r:为权数 m,n:正整数,分别表示小数位
2、和整数位例 2-1-1(43863.57)十=4*104+3*103+8*102 +6*101+3*100+5*10-1 +7*10-2n二进制n权数:2n-1,2n-2 n系数:0,1n基数:r=2n表示方法:在数字的末尾加上一个字母 B 例如:331.25=101001011.01 B注:十进制数在数字的末尾加上一个字母 D 十进制二进制十进制二进制00000501011000160110200107011130011810004010091001十进制和二进制之间的对应关系例 2-1-2 =1*28+1*27+1*26+1*25+0*24+0*23+1*22+1*21+0*20(1111
3、00110)二n二进制数的优缺点n优点n二进制数便于物理元件的实现n二进制数运算简单n二进制数使用器材少n便于实现逻辑运算n缺点n代码冗长n不便阅读n八进制(Octal)和十六进制(Hexadecimal)n八进制n权数:8n-1,8n-2n系数:0,1,2,3,4,5,6,7n基数:r=8n表示方法:在数字的末尾加上一个字母 O 例如:331.25=513.2 O十进制和八进制之间的对应关系十进制八进制十进制八进制006611772281033911441012551113n例 2-1-3 n例 2-1-4(647.32)八=6*82+4*81+7*80 +3*8-1+2*8-2=(423.
4、40625)十(101 000 111 001)二5071=(5071)八=(2617)十n十六进制n权数:16n-1,16n-2,n系数:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,Fn基数:r=16n表示方法:在数字的末尾加上一个字母 H 例如:331.25=14B.4 H十进制十六进制十进制十六进制 十进制 十六进制006612C117713D228814E339915F4410A16105511B1711十进制和十六进制之间的对应关系n例 2-1-5 (1010 0011 1000)二 A 3 8=(A38)十六2.1.2 不同计数制之间的转换n各种数制转换成十进制n按
5、“权”转换法例 2-1-6:将(11011.11)二 转换成十进制数解:(11011.11)二 =1*24+1*23+0*22+1*21+1*20 +1*2-1+1*2-2=16+8+0+2+1+0.5+0.25=(27.75)十例 2-1-7 将(732.6)八 转换成十进制数解:(732.6)八 =7*82+3*81+2*80+6*8-1=448+24+2+0.75=(474.75)十n基值重复相乘(相除)法n整数的基值反复相乘法 设 N 是一个四位的二进制数 N=d323+d222+d121+d020=(d322+d221+d1)*2+d0=(d3*2+d2)*2+d1 *2+d0n运算
6、步骤n从最高为开始,将最高为乘以2,加上次高位,令结果为M1nM1乘以2,加上第三位,令结果为M2nM2乘以2,加上第四位,令结果为M3,按这种方法一直运算下去,加到最低位为止n最后,所得到的结果就是转换的结果n例 2-1-8 将(101101)二 转换成十进制数解:M1=1*2+0=2 M2=2*2+1=5 M3=5*2+1=11 M4=11*2+0=22 M5=22*2+1=45 (101101)二 =(45)十n小数的基值反复相除法 设 N 为四位的二进制小数 则 N=d-12-1+d-22-2+d-32-3+d-42-4=2-1 d-1+2-1 d-2+2-1(d-3+2-1 d-4)
7、n运算步骤n从最低位开始,将最低位除以2,加上次低位,令结果为R1nR1除以2,加上第三低位,令结果为R2nR2除以2,加上第四低位,令结果为R3,一直进行到小数点左边的0为止n所得到的十进制小数就是所要求的结果n例 2-1-9 将 N=(0.1011)二转换为十进制小数解:R1=(1/2)+1=1.5 R2=(1.5/2)+0=0.75 R3=(0.75/2)+1=1.375 N=(1.375/2)+0=0.6875(0.1011)二=(0.6875)十n例 2-1-10 将 N=(632.43)八转换为十进制小数解:(1)整数部分 M1=6*8+3=51 N整=51*8+2=410(632
8、.43)八=(410.546875)十 (2)小数部分 R1=(3/8)+4=4.375 N小=(4.375/8)+0=0.546875n将十进制数转换成其它进位制数n将十进制数转换成二进制数n整数部分的转换n小数部分的转换ExampleExamplen例2-1-11 求十进制数 43 的二进制表示解:除以2 商Qi 余数di 43/2 21 d0=1 21/2 10 d1=1 10/2 5 d2=0 5/2 2 d3=1 2/2 1 d4=0 1/2 0 d5=1 低高即 (43)十=(101011)二n例2-1-12 求(0.6875)十 的二进制小数值解:乘以2 得小数Fi 整数di 0
9、.6875*2 0.3750 d-1=1 0.3750*2 0.7500 d-2=0 0.7500*2 0.5000 d-3=1 0.5000*2 0.0000 d-4=1 低高即 (0.6875)十=(0.1011)二如果小数Fi永远不为0,怎么办?n例2-1-13 求(0.423)十 的二进制小数值(精度为 2-5)解:乘以2 得小数Fi 整数di 0.423*2 0.846 d-1=0 0.846*2 0.692 d-2=1 0.692*2 0.384 d-3=1 0.384*2 0.768 d-4=0 低高即 (0.423)十=(0.01101)二 0.768*2 0.536 d-5=
10、1 n将十进制转换成其它进位制数n例 2-1-14 将(0.6328125)十 转换成八进制数解:乘以8 得小数Fi 整数di 0.6328125*8 0.0625000 d-1=5 0.0625000*8 0.5000000 d-2=0 0.5000000*8 0.0000000 d-3=4 低高即 (0.6328125)十=(0.504)八n例2-1-15 将(3952)十 转换成十六进制数解:除以16 商Qi 余数di 3592/16 247 d0=0 247/16 15 d1=7 15/16 0 d2=F 低高即 (3952)十=(F70)十六n二进制与八进制、十六进制数之间的转换n二
11、进制-八进制1 101 110 010.011 001 010002651213(1562.312)八n二进制 十六进制11 0111 0010.0110 010100(372.65)十六37265n真值与机器数n真值:用“+”,“-”来表示符号“正”、“负”的二进制数n机器数:用“0”,“1”来表示符号“正”、“负”的二进制数 01011符号数值部分小数点位置11011符号数值部分小数点位置2.2机器内数据及符号的表示方法n数据编码n根据用途不同:原码、补码、反码n为了方便人机交互n有权码:8421码、2421码、5421码n无权码:余3码、格雷码n检测能力的数据编码:奇偶校验码、五中取二码
12、n纠错能力的数据编码:汉明码、倍数正误码n数字、字母、字符编码:ASCII码、EBCDIC码、汉字编码n带符号数与不带符号数0 0 0 0 0 0 0 01 1 1 1 1 1 1 1数值位不带符号数表示范围:0-255表示范围:0-1270 0 0 0 0 0 0 00 1 1 1 1 1 1 1数值位带符号数符号表示范围:-1-1271 0 0 0 0 0 0 11 1 1 1 1 1 1 1数值位带符号数符号2.2.1 数的符号与小数点的表示n定点与浮点表示n定点数n纯小数:小数点固定在符号位之后,如1.1010111,此时机器中所有的数都是小数。n纯整数:小数点固定在最低位之后,如11
13、010111.,此时机器中所有的数都是整数。SfS1S2S3S4符号数值部分小数点位置SfS1S2S3S4符号数值部分小数点位置n例 2-2-1(329.625)十(.101001001101)二 (54.75)十(.11011011)二+相等?相等?(101001001101.)二(11011011.)二(384.375)十(1.011111111101)二(101100101000.)二添加比例因子n 例 2-2-2 求 329.625D 和 54.75D 之和解:329.625D=101001001.101B 54.75D=110110.11B用比例因子23分别乘两数可得:1010010
14、01101.000110110110.求和:110000000011.将求和的结果除以23 :110000000.011384.375Dn浮点表示法n为什么要用浮点表示法计算机处理的数据不一定是纯小数或者纯整数 如:圆周率 3.1415926有些数据的数之范围相差很大,不能用定点小数或者定点整数表示,但均可用浮点整数表示。如:电子的质量 9*10-28克352.47=3.5247*102 =3524.7*10-1 =0.35247*103 n数学表示 N=S*rjr:基值 j:r 的指数 S:N 的有效数字 N=S*2jj:r 的指数 S:浮点数的尾数对二进制而言:N=11.0101 =0.1
15、10101*210 =1.10101*201 =1101.01*2-10 =0.00110101*2100 10,01,-10,100 表示的是什么?表示的是什么?一定要注意:这是二进制的表示方式,基数为2,有效数字和指数都要用二进制表示n浮点机中数的表示形式jfj1j2j3 jmSfS1S2S3S4S5S6S7 Sn阶符阶值尾符尾数尾数:表示了数的精度,位数越多,精度越高阶值:表示了数的表示范围,位数越多,表示范围越大机器字长一定,如何提高浮点数的表示精度?0.000010101如何用最少的位数表示该数?规格化n规格化数n非规格化数如果尾数的第一位有效数字是1时,该数即是规格化的数。例如:1
16、.1010111 0.1010001如果尾数的第一位有效数字是0时,该数即是非规格化的数。例如:1.001010111 0.0010100010.1|S|1n例2-2-3 将 N1=11.0101 表示成浮点数n例 2-2-4 将 N2=0.00110101 表示成浮点数00100110101解:N1=11.0101=0.110101*210解:N1=0.00110101=0.110101*2-10尾数取6位,阶值取3位,阶符和尾符各取1位10100110101n定点表示法与浮点表示法的比较n数的表示范围假设机器的字长为8位SfS1S2S3S4S5S6S7小数定点机浮点机jfj1j2SfS1S
17、2S3S40.0000001-0.11111111/128-127/1280.0001*2-11-0.1111*2+111/128-7(1/2)浮点数的表示范围要远远大于定点数的表示范围n数的精度n浮点数为规格化数时,它的精度远远大于定点数的精度n数的运算n定点数 运算速度快n浮点数要对尾数和阶码分别进行运算,而且运算结果要求规格化,所以运算步骤较多,运算速度不如定点数快n溢出处理n定点数 对本身数值进行判断。如小数定点机中的数的绝对值必须小于1,否则为“溢出”n浮点数主要对阶码进行判断,下溢:当浮点数阶码小于最小阶码时,称为“下溢”,这 时,溢出的数的绝对值很小,机器按 0 处理。此 时机器
18、可以继续运行上溢:当浮点数阶码大于最大阶码时,称为“上溢”,此 时机器停止运算,进行中断溢出处理。n原码为了表示数的符号,可在数的最高位之前增设一位符号位,符号位为 0 表示正数,符号位为 1 表示负数,这样规定的二进制码,我们称为原码。例如:(假设机器字长为 8 位)X1=+1011010 则 X1原=01011010X2=-1011010 则 X2原=110110102.2.2 原码、补码和反码n整数的原码数学表示 0,x 0 x 2n-1x原=2n-1 x -2n-1 x 0其中:x 为真值 n 为机器字长例:2-2-5 假设机器字长为四位,求x的原码x=+101x原=0101 x=-1
19、01x原=24-1 (-101)=1000 (-101)=1101n小数的原码数学表示 x 0 x 1x原=1 x -1|B|A|B|加正正加正正正负减正负负正减负正负负加负负减正正减正负正负加正正负正加负负负负减负正n“补”的概念n补码假设有一个四位的计数器,0000-1111计数,当前值为1011,如何计数到00001 0 1 1-1 0 1 10 0 0 01 0 1 1+0 1 0 11 0 0 0 0计数器为4位,“1”自然丢失n整数的补码数学表示(模2n)x 0 x 2n-1x补=2n+x -2n-1 x 0其中:x 为真值 n 为机器字长例:2-2-9 求x的补码,假设机器字长为
20、4位x=+101x补=0101x=-101x补=24+(-101)=10000-101=1011n小数的补码数学表示(模2)x 0 x 1x补=2+x -1 x 0其中:x 为真值例:2-2-10 求x的补码x=+0.1001x补=0.1001x=-0.0110 x补=2+(-0.0110)=10 0.0110=1.1010n例2-2-11 x=0,求 x补+0.0000 补=0.0000-0.0000 补=10 0.0000=0.0000原码返回在补码的表示方法中,+0.0000 和 0.0000 的值相同n反码 x=-101 假设机器字长为4位x补=24+(-101)=10000+(-10
21、1)=101124=10000=1111+0001x补=24+x=1111+0001-x1 x2 x3=1 x1 x2 x3+0001n整数的反码数学表示(模2n-20)x 0 x 2n-1x反=(2n 20)+x -2n-1 x 0其中:x 为真值 n 为机器字长例:2-2-12 求x的反码,假设机器字长为4位x=+101x反=0101x=-101x反=(24-20)+(-101)=10000-0001-101=1010n小数的反码数学表示(模2 2-n+1)x 0 x 1x反=(2 2-n+1)+x -1 x 0其中:x 为真值 n 为机器字长例:2-2-13 求x的反码x=+0.0110
22、 x反=0.0110 x=-0.1011x反=(2 2-4)+(-0.1011)=2 0.0001 0.1011=1.0100n例2-2-14 x=0,求 x反+0.0000 反=0.0000-0.0000 反=10.0000 0.0001 0.0000=1.1111原码补码在反码的表示方法中,+0.0000 和 0.0000 的值不相同n小结n机器数的最高位是符号位,0为正,1为负n正数x,其原码、补码、反码的表示形式相同n负数xnx原:符号位为1,数值部分与真值绝对值相同nx补:符号位为1,数值部分为将真值尾数逐位求反,最低位加1nx反:符号位为1,尾数部分为将真值的尾数按位取反例 2-2
23、-15 已知 x=+13/128,试用二进制表示成定点数和浮点数(数值部分取8位,阶码部分取3位,阶符、数符各取1位),并写出它在定点机和浮点机中的机器数形式解:(1)x=8/128+4/128+1/128 =2-4+2-5+2-7=0.0001101 (2)定点数表示为:x=0.00011010 浮点数表示为:x=0.11010000*2-11(3)定点机中的机器数:x原=x补=x反 000011010(4)浮点机中的机器数:011010000 x原:1 0 1 1011010000 x补:1 1 0 1011010000 x反:1 1 0 0例 2-2-16 已知 x=-17/64,试用二
24、进制表示成定点数和浮点数(数值部分取8位,阶码部分取3位,阶符、数符各取1位),并写出它在定点机和浮点机中的机器数形式解:(1)x=-(16/64+1/64)=-(2-2+2-6)=-0.0100010 (2)定点数表示为:x=-0.01000100 浮点数表示为:x=0.10001000*2-1(3)定点机中的机器数:101000100 x原:110101100 x补:110101011x反:(4)浮点机中的机器数:110001000 x原:1 0 0 1101111000 x补:1 1 1 1101110111x反:1 1 1 02.2.3 信息的编码方法nBCD码(Binary Code
25、d Decimal)n二进制表示的十进制数编码n常用的BCD码为8421BCD码(每位十进制数用四位二进制数表示)n3 4 转换为BCD码为:0011 0100n9 0 转换为BCD码为:1001 0000nBCD码的种类n非压缩型的BCD码 每个十进制数用一个字节表示,只有低四位的值表示数值 3 4 表示为:0011 0011 0011 0100 9 0 表示为:0011 1001 0011 0000n压缩型的BCD码 一个字节存放两个十进制的数位nBCD码的用途n可以表示数,并在计算机内直接参加运算nBCD码可以在数的转换过程中,做中间表示n奇偶校验码n作用:为了防止信息在存储及传输过程中
展开阅读全文