




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章 运算方法和运算器汪志华edgar_2.1 数据与文字的表示方法 n进制的相互转换(要求非常熟练)n真值n机器数2.1.1 数据格式n定点数:操作数数据格式中小数点是固定的,通常将数据表示成纯小数或纯整数n定点数xx0 x1x2xn 在定点机中表示如下(x0表示符号位)x0 x1 x2 . xn-1 xnx0 x1 x2 . xn-1 xn定点小数定点整数小数点小数点n纯小数的表示范围为 0|12-nn例如,n8,最大值编码:0.11111111表示: 0.11111111 1.00.000000011-2-8n纯整数的表示范围为 0| 2n 1n例如:n8,最大值编码:11111111
2、表示: 111111111000000001281n如何用定点数来表示非常大(e.g. 210+33 )的数和非常小(e.g. 910-28 )的数?n浮点表示法:把一个数的有效数字和数的范围在计算机的一个存储单元中分别予以表示,这种把数的范围和精度分别表示的方法,数的小数点位置随比例因子的不同而在一定范围内自由浮动。n一个任意进制数 可以写成 e n :尾数尾数,是一个纯小数。 ne :比例因子的指数,称为浮点数的指数指数,是一个整数。 nR :比例因子的基数基数,对于二进计数值的机器是一个常数,一般规定 为2,8或16。n阶码n表达指数部分n用整数形式表示,指明小数点在数据中的位置决定浮点
3、数的表示范围n尾数用定点小数表示,给出有效数字的位数决定了浮点数的表示精度阶符阶码数符尾数早期计算机中浮点数的表示阶符阶码数符尾数现行浮点数的表示nIEEE754标准n:浮点数的符号位,1 位,0表示正数,1表示负数。n:尾数,23位,用小数表示,小数点放在尾数域的最前面。n:阶码,8 位阶符采用隐含方式,即采用移码方式来表示正负指数。将浮点数的指数真值e 变成阶码 时,应将指数 e 加上一个固定的偏移值127(01111111),即 e127SEM32位浮点数31 30 23 22 0 n对于二进制数1011.1101 =0.10111101 2+4 = 0.010111012+5= 10.
4、111101 2+2 = 1.0111101 2+3n为提高数据的表示精度,当尾数的值不为 0 时,尾数域的最高有效位应为1,否则以修改阶码同时左右移小数点的办法,使其变成这一表示形式,这称为浮点数的规格化表示规格化表示。n尾数的最高位为非零数值的浮点数,即:1|21Mn对于原码表示,xf.x1x2.xn 则 x1=1n对于补码表示,xf.x1x2.xn 则xf x1=1nIEEE754规格化的浮点数尾数最高有效位为1,并且隐藏在小数点的左边(即:1M2)nIEEE754 标准中,一个规格化的32位浮点数的真值可表示为 (1)s(1.)2127 e127nIEEE754 标准中,一个规格化的6
5、4位双精度浮点数规格化表示 (-1)s (1.) 2E-1023e1023(e1023)SEM64位浮点数63 62 52 51 0 X(-1)s1.M2e (1.011011)231011.011(11.375)10 指数e阶码127 1000 00100111111100000011=(3)10 包括隐藏位1的尾数1.M 1.011011例1:浮点机器数 (41360000)16,求真值 十六进制数展开成二进制数0 100 0001 0011 0110 0000 0000 0000 0000S阶码E(8位)尾数M(23位)例2:真值20.59375,求32位单精度浮点数 分别将整数和分数部
6、分转换成二进制数 20.5937510100.10011 移动小数点,使其在第1、2位之间10100.100111.01001001124e4S0E4+12713110000011M010010011 得到32位浮点数的二进制存储格式为:0 100 0001 1010 0100 1100 0000 0000 0000(41A4C000)16IEEE 754标准32位单精度规格化浮点数nE1(0000 0001)254(1111 1110) e-126+127n表达的数据范围(绝对值):n最小值: e-126,M0(1.M1)十进制表达:2-1261.1810-38n最大值: e127,M111
7、(23个1)1.M1.111 (23个1) 22-23十进制表达:(22-23)2127221273.401038IEEE 754标准64位双精度规格化浮点数nE12046 e-1022+1023n表达的数据范围(绝对值) :n 最小值: e-1022,M0(1.M1) 十进制表达:2-10222.2310-308n 最大值: e1023,M111(52个1)1.M1.111 (52个1) 22-52 十进制表达:(22-52)21023 221023 1.7910308IEEE 754标准32位单精度规格化浮点数中一些规定n真值0的机器数(机器零)n阶码E0,尾数M0n正0:S0,负0:S1
8、n非规格化浮点数:阶码E0,尾数M0n规格化浮点数:阶码E1254(11111110)n无穷大的机器数n阶码E全1(11111111) ,尾数M0n:S0,:S1nNaN(not a number,不是一个数)n阶码E全1(11111111) ,尾数M0n用来通知异常情况十进制数串的表示方法n字符串形式:一个字节存放一个十进制的数位或符号位。n压缩的十进制数串形式:一个字节存放两个十进制的数位,符号位占半个字节(例如用C表示正,D表示负)123 C012D123-12 2.1.2 数的机器码表示n原码n补码n反码n移码原码表示法n定点小数的原码形式为x0.x1x2 xnn定点整数的原码形式为x
9、0 x1x2 xnX 1 X 0 X原1X1 |X|0X1X 2n X 0 X原2nX2n|X|0X2nn例如,+0.1001,则原0.1001 -0.1001,则原1.1001n对于0,原码机器中往往有“+0”、“-0”之分,故有两种形式:+0原=0.000.0-0原=1.000.0 补码表示法n负数用补码表示时,可以把减法转化为加法 +4-8n定点小数的补码形式为x0.x1x2 xnn定点整数的补码形式为x0 x1x2 xnX 1 X 0 X补2+X2 - |X|0X1X 2n X 0 X补2n+1+X2n+1-|X|0X2n(mod 2)(mod 2n+1)n例如:+0.1011,则补0
10、.1011 -0.1011,则补10+10.0000-0.10111.0101n对于0,0补0补0.0000 n注意,0的补码表示只有一种形式。n补码与真值的关系若x补=xnxn-1xn-2.x1x0则1022niiinnxxx反码表示法n定点小数的反码形式为x0.x1x2 xnn定点整数的反码形式为x0 x1x2 xnX 1 X 0 X反(2-2-n)+X 0X1X 2n X 0 X反(2n+11)+X0X2nn对于正数 0.12n, 则 反0.12nn 对于负数 0.12n,则 反1.12nn对于0,有0反和0反之分: 0反0.00.0 0反1.11.1n对于负数补反2n若要一个负数变补码
11、,其方法是符号位置1,其余各位0变1,1变0,然后在最末位(2-n)上加1。移码表示法n移码通常用于表示浮点数的阶码n有符号整数采用移码n最高位表示符号:正数用1,负数用0n移码的传统定义: X移 2n X 2n X2n思考:对同一个真值,补码与移码只相差一个符号位机器码表示小结n补码表示对加减法运算十分方便,因此目前机器中广泛采用补码表示法n有些机器用原码进行存储和传送,运算时改用补码n有些机器做加减法时用补码,做乘除法时用原码n移码表示法主要用于表示浮点数的阶码 n例5设机器字长16位,定点表示,尾数15位,数符1位,问: (1)定点原码整数表示时,最大正数是多少?最小负数是多少?(2)定
12、点原码小数表示时,最大正数是多少?最小负数是多少?n(1)最大正数值 (2151)10(32767) 10 最小负数值 -(2151) 10 (-32767) 10 n(2) 最大正数值(0.111.11)2 (1 2-15) 10最小负数值(0.111.11)2(1 2-15)10 0 111 1111 1111 1111 1 111 1111 1111 1111 n例例6假设由S,E,M三个域组成的一个32位二进制字所表示的非零规格化浮点数,真值表示为:(1)s(1.M)2E128 问:它所表示的规格化的最大正数、最小正数、最大负数、最小负数是多少? n(1)最大正数 011 111 11
13、1111 111 111 111 111 111 111 11 1(12-23)2127n(2)最小正数 000 000 000000 000 000 000 000 000 000 00 1.02128n(3)最小负数 111 111 111111 111 111 111 111 111 111 11 1(1223)2127n(4)最大负数 100 000 000000 000 000 000 000 000 000 00 1.021282.1.3 字符与字符串的表示方法n多字节数据通常也连续存放在主存,占用多个连续的字节存储单元n小端方式(Little Endian)n低字节数据存放在低地
14、址存储单元n高字节数据存放在高地址存储单元n大端方式(Big Endian)n低字节数据存放在高地址存储单元n高字节数据存放在低地址存储单元n假设主存以字节为单位,每个存储单元具有一个存储器地址,其中存放一个字节数据(8位),则16位的数据12 34H的存储方式为:小端方式大端方式341212341000 1001存储地址2.1.4 汉字的表示方法n汉字的输入编码n数字编码n拼音码n字形编码n汉字内码:汉字机内代码中两个字节的最高位均规定为“1”n汉字的输出编码:字模码、矢量字体2.1.5 校验码n元件故障噪声干扰等各种因素常常导致计算机在处理信息过程中出现错误。为了防止错误,可将信号采用专门的逻辑线路进行编码以检测错误,甚至校正错误。通常的方法是,在每个字上添加一些校验位,用来确定字中出现错误的位置。n最简单且应用广泛的检错码是采用一位校验位的奇校验奇校验或偶校验偶校验。n奇校验:使包括校验位在内的数据中为“1”的个数恒为奇数n偶校验:使包括校验位在内的数据中为“1”的个数恒为偶数(包括0)n设(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB31/T 733-2013能源审计技术通则
- DB31/T 542-2011船用电梯安全检验规范
- DB31/T 478.14-2014主要工业产品用水定额及其计算方法第14部分:航天(民品)
- DB31/T 329.7-2019重点单位重要部位安全技术防范系统要求第7部分:城市轨道交通
- DB31/T 329.11-2019重点单位重要部位安全技术防范系统要求第11部分:医疗机构
- DB31/T 1392-2022公园绿地养护质量评价
- DB31/T 1336-2021旅游景区游客体验和社会美誉度评价规范
- DB31/T 1327-2021电子竞技场馆运营服务规范
- DB31/T 1038-2017生态公益林主要造林树种苗木质量分级
- DB31/T 1016-2016邮政普遍服务规范
- 太湖苏州辖区生态清淤一期工程环境影响报告书
- 精神分裂症患者个案护理查房
- 2025届江苏省苏州市高考冲刺押题(最后一卷)英语试卷含解析
- 中国共产主义青年团纪律处分条例试行解读学习
- 三方水泥合同协议
- 2025至2030年抗应激添加剂项目投资价值分析报告
- 23《“蛟龙”探海》公开课一等奖创新教学设计
- 研学部管理制度
- 带电粒子在复合场中的运动教学设计
- 通信光缆线路工程安全技术交底
- 贵州省妇幼健康服务体系与能力提升实施方案
评论
0/150
提交评论