




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第二章 数据的机器表示,主要内容: 真值、机器数的概念 原码、补码、反码、真值,及其相互转换。 定点数与浮点数的表示范围。 字符编码与汉字编码。,2,A、数据的分类,数据表示的分类: 数值数据表示 无符号数 带符号数 原码、补码、反码、移码 定点、浮点 非数值数据表示 字符数据和字符串 汉字数据 十进制数和数串(自学),3,B、数值型数据的表示方法,一个预备知识 二进制数B、八进制数Q 十进制数D(可省略)、十六进制数H 两个术语定义 真值:在现实生活中,用正号、负号加绝对值表示数值的数称为真值,如123、-128等。 机器数:在计算机内部使用的、连同符号一起数码化了的数,称为机器数。 要做三件事 区分数据的正负、选择数值的码制、确定小数点的位置。,4,一、带符号数的表示方法,带符号机器数主要有3种编码方式: 原码 补码 反码 带符号数最常用的编码方式有2种: 原码 补码,5,1、原码表示,原码表示法规定:一个机器字中,最高位为符号位,符号位为0表示正数,符号位为1表示负数,数值部分与真值相同。 若定点小数的原码形式为 x0.x1x2xn,则原码表示的定义: X原= 其中,X原是机器数,X是真值。,例如,x=+0.1001,则x原=0.1001 x= -0.1001,则x原=1.1001 对于正数x=+0.x1x2xn,x原= 0.x1x2xn 对于负数x= -0.x1x2xn,x原= 1.x1x2xn 对于0,有两种形式: +0原 = 0.000, -0原 = 1.000,X 0 X1 1 X = 1 + |X| -1X0,6,原码表示(续),若定点整数的原码形式为xnx2x1x0 ,定点整数的原码定义: x原= 例如,x=+1011,则x原=00001011 x= -1011,则x原=10001011 关于原码表示的结论: 真值0有两种不同的表示形式(+0、-0) 小数原码表示范围为:-1x1 整数原码表示范围为:-2n x2n 原码表示简单易懂,其缺点是加法运算复杂。因为人为约定0为正数,1为负数,在运算时,符号和数值要分开处理。,X 0 X2n 2n X = 2n + |X| -2nX0,7,2、补码表示,补码符号位的表示方法与原码相同,数值部分的表示如下:对于正数,数值部分与真值的形式相同;对于负数,将真值的数值部分按位求反,最低位加1。,若定点小数的补码形式为x0.x1x2xn,则补码的定义: X补= 其中,X补是机器数,X是真值。,X 0 X1 2 + X = 2 - |X| - 1 X 0,例如, x=+0.1011,则x补=0.1011 x= -0.1011,则x补=1.0101 对于正数x=+0.x1x2xn,x补= 0.x1x2xn 对于负数x= -0.x1x2xn,x补= 10.00-0.x1x2xn 对于0,只有一种形式+0补=-0补 =0.000,8,补码表示(续),若定点整数的补码形式为xnx2x1x0,定点整数的补码定义: x补= 例如, x = +1011,则x补 = 00001011 x = -1011,则x补 = 11110101,由真值转换为补码时,很少用补码定义式计算,通常把真值先转换为原码,再由原码转换为补码。事实上,按照对补码定义式的理解,有如下简便的转换方法。,9,由真值、原码转换为补码,正数的补码表示与原码相同。 如:x原=0.1010 ,x补=0.1010 负数原码转换为补码的方法之一:符号位保持1不变,数值位按位求反,末位加1。 如: x原 = 1.1010 按位求反 1.0101 末位加1 + 1 x补 = 1. 0110,负数原码转换为补码的方法之二:符号位保持1不变,在数值位中从低位向高位找1,第一个1及其右边的0保持不变,数值位的其余部分求反。 如: x原 = 1. 10 10 不变 求反 不变 x补 = 1. 01 10,以上方法与通过补码定义式计算结果完全一致,但更为简便,是实现求补电路的重要依据,也是实现求补电路普遍采用的方法。,10,由补码表示转换为原码与真值,正数补码与原码相同,不需要转换。 负数补码转换为原码,可以采用上述方法,对补码再求补码,实现逆转换,即对补码再求补码结果为原码。 关于补码表示的结论: 在补码表示中,仍以最高位作为符号位,0为正数、1为负数。补码的符号位是数值的一部分,可以和数值位一起参与运算,不需要单独处理。 数值0只有一种表示,无+0和-0之分,补码的负数域不含0。 负数补码和原码相比,多出了一个负数-1或-2n。以n+1位整数为例,原码绝对值最大的负数为-(2n-1),而补码绝对值最大的负数为-2n,其原因是在补码中0只占一个码点。 补码表示可以把减法转化为加法,用一套电路完成加法和减法.,11,3、反码表示,反码符号位的表示方法与原码相同,数值部分表示如下:对于正数,数值部分与真值的形式相同;对于负数,将真值的数值部分按位求反。,若纯小数的反码序列为x0.x1x2xn ,则:(n为数值的位数) x反= 例如,x = + 0.1101, x反 = 0.1101 x = - 0.1101, x反 = 1.0010,X 0 X1 (2 2-n) + X - 1 X 0,12,反码表示(续),对于正数 x=+0.x1x2xn,x反= 0.x1x2xn 对于负数 x= -0.x1x2xn,x反= 1.x1x2xn 对于0,有两种形式:+0反 = 0.000, -0反 = 1.111,若定点整数的补码形式为xnx2x1x0,定点整数的补码定义: x反= x反=2-2-n+x,x补=2+x x补=x反+2-n 有以下结论:反码的末位加1等于对应的补码。 反码的符号位也可以作为数值位直接参与运算。,X 0 X2n (2n+1 1) + X - 2n X 0,13,二、数的定点表示与浮点表示,在现实世界中,我们所遇到的数可能既有整数部分,又有小数部分,这就存在一个如何表示小数点的问题,即如何确定小数点的位置。 根据小数点的位置是否固定,数的格式可分为: 定点表示 浮点表示 其中,定点数又分为无符号定点数、带符号定点数。 对于数据表示,我们最关心两项指标: 第一,表示范围,即在正负两个方向上各能表示多大的数 第二,分辨率,也就是表示数的精细程度,14,1、定点表示法无符号定点数,所谓无符号数定点数,是指整个机器字的二进制位全部用来表示数值位,没有符号位置;同时约定小数点在最低数位之后,而且不出现在数码序列中。 例、N1 = 01001,表示9;N2 = 11001,表示25。 字长为n+1位的无符号数xnx2x1x0有以下特性:,无符号定点数值的表示范围为:02n+1-1,分辨率为1。,15,无符号定点数,例、以8位无符号数为例,说明其最大值为(28-1)。,其它典型值,最小非零正数和零,可进行同样的分析。,16,2、定点表示法带符号定点整数,带符号定点整数是纯整数,它约定机器字的最高位为符号位,小数点在最低数位之后、且不出现在数码序列中,带符号定点整数可以是原码表示或补码表示。 格式为: 以下分原码和补码进行讨论。,17,假设:带符号的定点整数代码序列为xnx2x1x0 ,约定xn为符号位,小数点在最低位之后。其典型值如下:,18,现以8位原码为例,说明带符号定点整数的绝对值最大负数-(27-1)、最大正数(27-1)。,得到结论:(注意,序列下标和权值的指数一致) 原码定点整数表示范围:-(2n-1)(2n-1) 补码定点整数表示范围:-2n (2n-1) 原码、补码定点整数分辨率:1,19,3、定点表示法带符号定点小数,带符号定点小数是纯小数,它约定机器字的最高位为符号位,小数点在符号位之后、最高数值位之前、且不出现在数码序列中 ,带符号定点小数可以是原码表示或补码表示。 格式: 以下分原码和补码进行讨论。,20,假设:带符号的定点小数代码为x0.x1x2xn ,约定x0为符号位,小数点在符号位和最高数位之间.其典型值如下:,21,现以8位原码为例,说明带符号定点小数的绝对值最大负数-(1-2-7)、最大正数(1-2-7)。,由此得到:(注意:序列下标和权值的指数一致) 原码定点小数表示范围:-(1-2-n)(1-2-n) 补码定点小数范围:-1 (1-2-n) 原码、补码定点小数分辨率:2-n,22,4、浮点数的表示方法,把一个数的有效数字和数的范围在计算机的一个存储单元中分别予以表示,相当于小数点的位置随数的比例因子不同在一定范围内可自由浮动,所以把这种表示方式称为浮点表示法。,任意一个二进制数可以写成: N=2eM M称为浮点数的尾数,纯小数表示,基数为2; e为浮点数的指数,也叫阶码,整数表示,底数为2。 浮点数在机器中由阶码和尾数来表示。尾数部分给出浮点数有效数字的数位,决定浮点数的精度;阶码指明小数点在数据中的位置,决定浮点数的表示范围。,23,(1)浮点数的格式,浮点数的表示格式,数符决定浮点数的正负;阶符仅决定阶码本身的正负 阶码通常使用移码表示,移码是计算机中又一种机器数的编码方式。下面先介绍移码。,整数,小数,24,(2)移码表示法,移码通常用来表示浮点数的阶码,由真值加一个固定的常数生成,这个固定的常数称为偏移量。 设定点整数移码的形式为xmx2x1 x0,则移码定义为: x移=2m+x -2mx2m x移是机器数,x是真值,2m是一个固定的偏移量,它也是xm的位权,移码共有m+1位。 例、某浮点数阶码8位,含一位符号位,移码表示。当阶码x = -0111 1111,则: x移 = 27 - 0111 1111 = 0000 0001,25,移码的特点,最高位为0表示负数,为1表示正数。 移码全0时真值最小,全1时真值最大。 0的移码只有一个,0移=1000 同一数值的移码和补码,数位相同,而符号相反。 便于阶码大小的比较,便于对阶操作,有利于简化机器中的判零电路。,26,(3)规格化,为了提高浮点数的表示精度,当尾数不为0时,尾数域的最高数位必须是一个有效值。如果最高数位不是有效值,则通过尾数移位并修改阶码的办法,使其变成有效值,这称为浮点数的规格化。 对规格化的浮点数规定如下: 如果尾数是原码表示,尾数的最高有效位一定为1。 如,0.11012-2 为规格化的浮点数表示, 0.011012-1则不是。 如果尾数用补码表示,尾数的最高有效位一定与符号位相反。如:0.1xx和1.0xxx是规格化的补码表示。 -1/2是个特殊的浮点数,无规格化表示,所以不在浮点数规格化表示的范围内。,27,(4)表示范围和精度,设浮点数的阶码m+1位,含一位阶符,补码表示,以2为底;尾数n+1位,含一位数符,补码表示,规格化。其典型值如下:,浮点数的表示范围:-122m-1(1-2-n) 22m-1 浮点数的分辨率:2-12-2m(非零最小正数就是分辨率),28,(5)真值与浮点数之间的转换,例1、某浮点数字长32位;阶码8位,含一位阶符,补码表示,以2为底;尾数24位,含一位数符,补码表示,规格化。若浮点数代码为(A3680000)16,求其真值。 解:(A3680000)16 = (10100011,0110100000000)2 E = -(1011101)2 = -(93)10 M = (0.110100)2 = (0.8125)10 N = 2-930.8125,29,真值与浮点数之间的转换,例2、按上题格式将-(1011.110100)2写成浮点数代码。 解: N = -(1011.110100)2 = -(0.1011110100)224 E = (4)10 = (0000 0100)2 M补 = (1.0100001100)2 浮点数代码 = (0000 0100,1010 0001 100)2 = (04A18000)16,30,(6)IEEE754标准浮点数格式,上面讨论的是一种原理性浮点数格式,实用的机器浮点数格式与此有一些差异。下面简要介绍当前微机中使用较多的IEEE754标准浮点数格式。,31,32位IEEE754标准下的浮点数,格式:,由数符S、阶码E、尾数M三部分组成,指数以2为底、尾数以2为基数 符号位S占1位,安排在最高位,S=0表示正数,S=1表示负数。 阶码E占8位,移码表示,偏移量为+127。( 27=128 127 ?) 尾数M占低23位,用原码表示,小数点在尾数域的最前面。 754标准规定:尾数域表示的值是1.M。由于最高有效位总是1,可以将 1 隐藏在小数点左边,可不予存储,尾数实际24位。于是,一个32位的浮点数的实际真值为: X=(-1)s(1.M)2E-127,其中e=E-127 754标准还规定:当阶码E=00且尾数M=00时,表示的真值x=0;当阶码E=11且尾数M=00时,表示的真值x=。,32,IEEE754的32位浮点数举例,例:将十进制数28.75转换为32位IEEE754短浮点数。 解:(28.75)10=(11100.11)2=1.11001124, E=127+4=131=(10000011)2 M= (1100 1100 0000 0000 0000 000)2 IEEE短浮点数编码为: 0,10000011,1100 1100 0000 0000 0000 000,33,例题一,以定点整数为例,用数轴形式说明原码、反码、补码的表示范围。 解:原码、反码、补码分别示于下图。与原码、反码不同,补码表 示中“0”只用一种形式,且表示负数时可以到-2n。,34,例题二,将十进制真值x(-127,-1,0,+1,+127)列表表示成二进制数及原码、反码、补码、移码(+128)。,35,C、非数值数据的表示,现代计算机不仅处理数值领域的问题,而且处理大量非数值领域的问题,包括字符、字符串、图形符号和汉字等各种数据,它们是用来表示文字语言、逻辑语言等信息的。 用的最多、也是为大家所熟知的是美国国家信息交换标准码ASCII码以及我们使用的汉字。,36,1、ASCII码,国际上广泛采用美国信息交换标准码,即ASCII码。 ASCII码是集输入码、内部码、交换码于一体的一种非常通用的编码。 特点:编码简单。,37,ASCII码,1、10个十进制数 2、26个英文字母 3、34个专用符号 4、32个控制字符 共计128个,其中 有95个可打印。,1、7位二进制表示一个字符。 2、排列顺序:b6b5b4b3b2b1b0 3、b7为0,表中未给出表示。,1,2,38,2、汉字的表示,汉字的输入码 区位码:用数字串代表一个汉字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 止痛药物应用总结模版
- 平衡的稳定性教学设计
- 机械工程材料基础第三章钢的热处理
- 人教版三年级语文下册《口语交际:春游去哪儿玩》教学课件
- 医院人事管理课件
- 肿瘤机器技术应用与发展
- 提高课堂教学的有效性心得体会模版
- 本学期少先队工作总结模版
- 手术室传染病分管规范
- 初一上英语教学总结模版
- 经营岗位笔试题目及答案
- cng安全管理制度
- 消渴肾病的中医护理方案
- 农行反洗钱与制裁合规知识竞赛考试题库大全-上下
- DGTJ08-202-2020钻孔灌注桩施工规程 上海市
- 拆迁协议中的贷款合同
- 河北省中原名校2025届高考化学押题试卷含解析
- 小学学生体质健康监测管理制度
- 轻钢龙骨隔墙施工方案
- 2025年面包烘培考试试题及答案
- 2025年社会工作者职业水平考试中级实务模拟试卷:社会工作专业能力与团队协作能力试题
评论
0/150
提交评论