版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、我们在日常生活中经常使用的数据有09数字组成的数据(称为数值型数据),还有英文字母、标点符号、汉字等数据(称为字符型数据)。要想让计算机能处理这些数据,那么首先就要解决这些数据在计算机中如何表示和存储的问题。 在这一章里,通过学习同学们需要了解如下内容: (1)常用进制之间的转换; (2)定点数的表示方法; (3)浮点数的表示方法; (4)编码及检验;,第3章:数据的表示方法,1 进制,一、进位计数数制 作为进位计数数制具有两个基本要素:基数和权 所谓基数:数制中所用到的代码的个数。 所谓权:不同数位的固定常数。如下图,二、计算机中使用二进制的原理 1、便于物理器件实现 在物理中具有两个稳定状
2、态的物理器件很多:晶体管的“截止”和“导通”,电容的“充电”和“放电”,电压信号的“高”和“低”,脉冲的“有”和“无”,电磁单元的“正向磁化”和“反向磁化”等。 2、二进制运算规则简单 基数为J的进制,其求和、求积的公式各有J(J+1)/2种。 如:2进制:求和:0+0=0,0+1=1+0=1,1+1=10; 求积:0*0=0,1*0=0*1=0,1*1=1,十进制:基数位10 二进制:基数位2,在人类社会活动中都采用的是进位计数制。目前常用的进位计数制有: (1)十进制 (2)60进制(分、秒) (3)12进制(年,时钟) (4)八进制(星期) (5)二进制(鞋、袜、筷子) 在计算机里,使用
3、的进位制有四种进制: (1)十进制 D (2)二进制 B (3)八进制 Q (4)十六进制 H,2 常用进制转换,一、二进制数 十进制数 1、将十进制数转换成二进制数的方法 连续用不大于它的2n的值去减,直至余数为0,被减过的2n,表明第n位为1,否则为0,最右边为第0位。 例1:(6894)D=(1101011101110)B 例2:把(0.6875)D变成二进制数:(0.6875)D=(0.1101)B 例3:(0.9)D转化成二进制 练习:把(100.375)D,(35.625)D转化成二进制数,2、二进制数转换成十进制数 将对应的二进制数字中各位为1的位的值相加即可 例1:(11001
4、)B=124+123+120=(25)D 例2:(110.101)2=122+121+12-1+12-3=(6.625)B 例3:将n位全是1的二进制数整数,其十进制数值为多少?(2n-1),例4:计算1011.0123和1011.0123,将上述两题的运算结果同运算前的被乘数或被除数相比,我们可以得出结论: 一个二进制数乘以或除以一个2n,相当于该二进制数的小数点向左或向右移动n位,不够的位补0。,二、二进制数 十六进制数 在讲述它们之间的转换之前,我们先介绍一下十六进制的表示符号,我们知道对于十进制数是用0、1、3、4、5、6、7、8、9十个数字表示,对于二进制数是0和1两个数字表示,依次
5、类推,十六进制数就应该用十六个符号表示,对应的十六个符号为:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,1、二进制数向十六进制数转换 方法:整数部分从右至左,小数部分从左至右,每四位分成一组,然后每一组用一位十六进制数表示出来即可。 例1:(10011100)B转换十六进制数 (1001,1100)B=(9C)H 例2:(110011010.11011)B转换成16进制数。 2、十六进制向二进制转换 方法:将每一位十六进制数用四位二进制数表示出来即可 例1:(A6)H =(10100110)B 例2:(8D)H =(10001100)B (3F8)H =(001111111
6、000)B,三、二进制数 八进制数 八进制数就用八个符号表示,对应的八个符号为:0、1、2、3、4、5、6、7,1、二进制数向八进制数转换 方法:整数部分从右至左,小数部分从左至右,每3位分成一组,然后每一组用一位八进制数表示出来即可。 例:(1)1110111101.0101001B=( )Q (2)110011010.11011B=( )Q 2、八进制向二进制转换 方法:将每一位十六进制数用四位二进制数表示出来即可 例: (1)365.47Q=(011110101.100111)B (2)56.345Q=(101110.011100101)B (3)765013Q=(11111010100
7、0001011)B,四、十进制数 八进制数、十六进制 1、八进制、十六进制向十进制转换有两种方法: 方法一:将八进制或十进制数先转换成对应二进制数,然后,将所得二进制数展开相加。 例:56.345Q=101110.011100101D =125+123+122+121+12-2+12-3+12-4+12-7+12-9 =32+8+4+2+0.25+0.125+0.0625+0.0078125+0.001953125 =46.447265625 方法二:直接按数展开相加 例:56.345Q=581+680+38-1+48-2+58-3 =58+61+30.125+40.015625+50.000
8、9765625 =46.447265625,2、十进制向八进制或十六进制转换 方法一:先将十进制数转换对应二进制数,再将二进制数转换成八进制或十六进制 例:将(34)D转换成八进制和十六进制 (34)D=(100010)B =(22)H=(42)Q 方法二:将十进制数直接除以8或16,除到余数小于8或16,将余数用一位八进制符号或一位十六进制符号表示,并把它写在商的后面即为转换的结果。 【数制转换中的小技巧】 (1)152.25D=(10011000.01)B=(230.2)Q=(98.4)H 152=128+16+8=27+24+23 0.25=2-2 (2)11111111B=( 255
9、)D 11111111+1-1=100000000-1=28-1=255 (3)7/16D=(0.0111)B 7/16=(22+2+1)/24=(2-2+2-3+2-4)=(0.0111)B,3 定点数的表示方法,在上一节进制转换的例子中,我们看到在现实生活中使用的数值型数据完全可以转换成二进制数据来表示。如: 150D=10010110B,-150D=-10010110B 150.4D=10010110.0110011B,-150.4D=-10010110.0110011B 那么这些我们所看到的二进制数就是计算机中能处理的二进制数吗?肯定不是,因为还有几个问题没有解决: (1)数的符号数值
10、化问题。0表示正,1表示负 (2)小数点的位置问题。约定:定点数和浮点数 (3)表示范围问题。受机器字长限制,超出此范围就称为溢出,一、几个基本概念 1、机器数:在计算机中表示出来的数。一般采用符号和数值一起编码的方法来表示数据。 2、真值:一个机器数所代表的数值称为该机器数的真值。 3、定点数:小数点位置固定不变时所表示出来的数。从理论上讲,小数点位置固定在哪一位都可以,但实际上通常将数据表示成纯小数或纯整数。 4、浮点数:小数点位置不固定时所表示出来的数。这会带来表示方法不唯一的问题。 【注意】一台计算机中数值究竟采用定点表示还是浮点表示,要根据计算机的使用条件来确定。一般在高档微机以上的
11、计算机中是采用定点还是采用浮点表示,由用户进行选择。而单片机采用定点表示。一般来说,定点表示的数值范围有限,但要求处理的硬件比较简单;而浮点表示的数据范围很大,但要求处理的硬件比较复杂。,二、定点表示法 所谓定点( fixed point)表示法:是指计算机中的小数点位置是固定不变的。 根据小数点位置的固定方法不同,可分小数点固定在最低位之后和小数点固定在数的最高位之前两种。 (1)设x的形式为x=x0.x1x2xn,(其中x0为符号位,x1 xn 是数值部分,也称为尾数,x1为最高有效位),则在计算机中的表示形式为: 这种小数点固定在数的最高位之前的表示法称为定点小数表示法。它表示的数据范围
12、为:-2-n 1-2-n 即(-0.0001+0.1111),(2)设x的形式为x=x0 x1x2xn,(其中x0为符号位,x1 xn 是数值部分,也称为尾数,xn 为最低有效位),则在计算机中的表示形式为: 这种小数点固定在数的最低位之后的表示法称为定点整数表示法。它表示的数据范围为:1,2-n -1,即(00011111),当计算机采用定点整数表示时,它只能表示整数。但在实际问题中,数不可能总是整数,因此,对非整数进行必要的加工。加工的方法是选择适当的比例因子,使全部参加运算的数都变为整数。 例如:二进制数+101.1和-10.11都是非整数,若将它们乘以比例因子22,则得 +101.12
13、2=+10110 10.1122=1011 当然,在输出结果时必须除以比例因子。,三、定点数的原码、反码和补码表示 原码:真值X的符号数值化后所表示出来的机器数。记为X原 反码:正数的反码与正数的原码相同,负数的反码的数值部分是将该负数原码的数值部分各位取反。记为X反 补码:正数的补码与正数的原码相同,负数的补码的数值部分是将该负数反码的数值部分加1。记为X补 总结:设计算机的字长为N位,X=Xn-2 Xn-3X0 其中,Xi=0或1,则有: (1)真值X=+Xn-2Xn-3X0时 X原=X反=X补=0Xn-2Xn-3X0 即正数的原码,反码,补码完全相同。 (2)真值X= -Xn-2Xn-3
14、X0时。 X原=1Xn-2Xn-3X0 X反=1Xn-2Xn-3X0 X补=1Xn-2Xn-3X0+1=X反+1,例1:已知计算机字号为8位,该机器采用定当整数(小数点在最右边)表示数据,试写出二进制数x=+101010和y=-101010在机器中表示的原码、反码和补码。 解: (1)X=+101010 因X为正,则X原=X反=X补=00101010 (2)Y=-101010 因Y为负数,所以: Y原=10101010,Y反=11010101,Y补=11010110 例2 :已知X补=101101,求真值X 解:(1)由补码求反码:X反=X补 -1=101101-1=101100 (2)由反码
15、求原码:X原=X反=110011 X补的符号位为1。显然X原对应的真值为负, 所以 X=-10011 注意:负数在机器中一般用补码表示。,例3:请求出+0和-0的原码、反码和补码 (1)小数: +0.0000000原=0.0000000;-0.0000000原=1.0000000 +0.0000000反=0.0000000;-0.0000000反=1.1111111 +0.0000000补=0.0000000;-0.0000000补=0.0000000 (2)整数: +0000000原=0,0000000;-0000000原=1,0000000 +0000000反=0,0000000;-000
16、0000反=1,1111111 +0000000补=0,0000000;-0000000补=0,0000000 【结论】“0”的原码表示:不唯一;“0”反码表示不唯一;0补码表示唯一。,求下列各数的原、反、补码(设字长为5位),由上例可以看出:数的原、反、补码的大小顺序与其真值大小顺序不一致。这就带来一个问题,即数的大小比较很麻烦。,四、移码表示 (1)定义: 定点小数:X移=1+X (-10,符号为1;X0,符号为0。移码表示与补码表示一一对应。 【注意】:移码只用于表示浮点数的阶码,所以只用于整数。 (2)移码的性质 先看移码、补码和真值之间的关系(如下图),从上表可以看出: 移码中,符号
17、位0表示负,1表示正 移码全0,真值最小 0的移码表示唯一 移码与补码仅符号位相反,其余各位相同 移码表示实际上是把真值映射到了正数域,可按无符号数比较大小。(保持了数据原来的大小顺序,这样便于进行比较操作),例:-2n-1的移码为多少? 依据移码意义,-2n-1=2n-1+(-2n-1)=0 可见-2n-1的移码的绝对值最小。 移码和补码的关系: 真值X的补码 X补=2n+X =22n-1+X =2n-1+2n-1+X =2n-1+X移 由此可以得出:移码的符号位加1就是该数的补码。,例:请从供选答案中,把正确答案的序号填人相应 内,字长为8的机器数的移码27、0和255的真值分别为 , 和
18、 A、B、C供选答案如下: (1)+127 (2)+128 (3)+255 (4)0 5)-128 (6)-127 (7)-255 (8)+1 解:(1)移码为27即 27 = 28-1+X (2)移码为0,即0=27+X,X=-27 (3)移码为255,即255=27+X,X=127,A,B,C,4 补码表示法的变换公式,1、补码之和公式 X+Y补=X补+Y补 2、-X补与X补的转换公式 -X补=2n-X补 -X补=X补求补 求补:连同在符号位按位取反加1 3、 X补与X补的转换公式 X补=2n-1 x0+ x补 把X补连同符号位一起右移一位,符号位不变 例:已知X补=1.0011000 求
19、 X补 X补=1.1001100 4、2X补与X补的转换公式,2X补=2X补 把X补左移1位,最末位补0 例:已知X补=11000000,求2X补 2X补=10000000,5 浮点数表示方法,我们先看下面几个数。如: 1999=0.1999104=1.999103=19.99102=199.9101 1011.1101B=0.101111012100=0.00101111012110 由此可见:二进制浮点数可以抽象为: SsS1Sn2JsJ1Jm , 其中Js称为阶码的符号(简称为阶符),Ss称为尾数的符号(简称为尾符),J1Jm称为阶码,S1Sn称为尾数。将上式中的2去掉,浮点数在计算机中
20、可表示为: Js,J1Jm;Ss.S1Sn。 但由于小数点的位置不固定,就带来同一个数的表示方法不唯一的问题。解决这个问题的方法是:进行浮点数规格化。,一、浮点数的规格化 当小数点后面的值不为0时,其绝对值应大于等于0.5(即=0.5);而小数点后面的数必须为定点小数(即 1);满足这两个条件的浮点数称为规格化的浮点数。 如:1011.1101B=0.101111012100 =0.00101111012110 在上式中哪一个才是规格化的表示呢? 当浮点数不是规格化浮点数时,必须通过左移尾数,并同时修改阶码使其变为规格化的浮点数,这种操作称为浮点数的规格化处理。 对于任何一个二进制数N都可表示
21、为: N=2E(S) 其中E阶码,是一个二进制正整数,E前的号称为阶符。 S尾数,是一个二进制正小数,S前的号称为尾符。,如:+101.0=+0.101123=211(+0.1011) -10.11=-0.101122=210(-0.1011) 采用记阶表示法后,计算机中只需表示出它的阶码,尾数,阶符和尾符四个参数,就可以描述任何一个二进制数。 例如用8位字长中的2位表示阶码,4位表示尾数,阶符和尾符各用1位表示,则上述两个二进制数在机器内的浮点表示形式如下:,比较上述两数可知,它们的有效数字1011是完全相同。只是正负号和小数点的位置不同。 如果规定:小数尾数的第1位必须为1(即小数点后面的
22、第一位数位1),这种小数称为规格化小数。 对于规格化的浮点数,小数点的位置是随阶码的大小而变动的。浮点数就是因此而得名。,尾数的位数表明了有效数字的精度位数(n位);阶码的位数表明了数的表示范围(m位)。 要保证浮点数既有足够大的数值范围,又有所要求的精度,就要合理地选择m,n的值。 对于原码表示:尾数最高位为1,即Ss.s1=0.1 或 Ss.S1=1.1 对于补码表示:(1)正数时,尾数最高位为1,即Ss.s1=0.1; (2)负数时,尾数最高位为0,即Ss.s1=1.0; 符号位与第一位数值位相异。,二、浮点数表示的基本格式(如下图),三、浮点数的原码、反码和补码表示 将原码、反码和补码
23、的定义分别应用到浮点数的阶码和尾数上去,即得浮点数的原码、反码和补码。 例: X=2-110.11010 (设阶码占3位) 原码: 阶码 尾数 反码: 阶码 尾数 补码: 阶码 尾数 如: X=-2110.11010,同学自己画出示意图,四、浮点数举例 例1:浮点数格式为X,XXX;X.XXXXXXX,写出此数所能表示的最大正数,最小正数,最大负数和最小负数。 正max=0,111;0.1111111=(1-2-7)27 正min=1,111;0.0000001=2-72-7 负max=1,111;1.0000001=-2-72-7 负min=0,111;1.1111111=-(1-2-7)2
24、7 例2:机器数格式为X,XXX;X.XXXXXX,写出X= 11/32的规格化浮点表示。 X=11/32=0.01011B=0.10112-1 X原=1,001;0.101100 X反=1,110;0.101100 X补=1,111;0.101100 X=-11/32=-0.01011B=-0.10112-1 X原=1,001;1.101100 X反=1,110;1.010011 X补=1,111;1.010100 练习:设机器数格式为X,XXX;X.XXXXXX,写出X= 9/128的规格化浮点表示。,五、现在微机中的浮点数的表示(IEEE754浮点数标准格式) 1、32位浮点数的标准格式(单精度),32位的浮点数中,F是浮点数的符号位,占1位,安排在最高位,X是尾数,放在低位部分,占
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新物权法专项试题及答案
- 2026广西南宁市西乡塘区人民检察院公开招聘聘用制工作人员3人笔试备考试题及答案详解
- 2026普安县林业局公开招聘公益性岗位人员1名笔试备考题库及答案详解
- 2026年泗县中小学幼儿园教师招聘考试模拟试题及答案解析
- 2026年市政工程管理与实务测试题库
- 2026年人教版初中物理力学公式应用测试卷
- 2026年电子商务运营管理模拟测试
- 2026年心理辅导技巧训练测试
- 2026年云南省人教版八年级英语下册写作专项训练习题
- 2026年考研计算机408专业基础习题集
- 郑州财税金融职业学院招聘真题
- 急性胃炎临床路径(2017年县医院适用版)
- 六、果实品质形成-课件
- 移动通信网络部署与运维(初级)PPT完整全套教学课件
- 水生生物学绪论HJJ
- GB/T 35980-2018机械产品再制造工程设计导则
- GB/T 22848-2009针织成品布
- GB/T 13576.1-1992锯齿形(3°、30°)螺纹牙型
- 大学科技英语翻译教程 边立红 ISBN978-7-5663-1529-8 PPT
- 学校体育科研方法
- 深圳市企业职工养老保险死亡待遇结算申请表-空表
评论
0/150
提交评论