计算机组织与结构第2章数据的机器级表示和运算.ppt

上传人:wuy****n92 文档编号:91514071 上传时间:2023-05-27 格式:PPT 页数:126 大小:1.71MB
返回 下载 相关 举报
计算机组织与结构第2章数据的机器级表示和运算.ppt_第1页
第1页 / 共126页
计算机组织与结构第2章数据的机器级表示和运算.ppt_第2页
第2页 / 共126页
点击查看更多>>
资源描述

《计算机组织与结构第2章数据的机器级表示和运算.ppt》由会员分享,可在线阅读,更多相关《计算机组织与结构第2章数据的机器级表示和运算.ppt(126页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第2 2章章 数据的机器级表示和运算数据的机器级表示和运算 1本章结构12.1 2.1 数制及转换数制及转换22.2 数值数据的机器表示数值数据的机器表示32.3 非数值数据的机器表示非数值数据的机器表示52.5 浮点数的运算浮点数的运算42.4 定点数的运算及实现定点数的运算及实现62.6 数据校验码数据校验码22.1 2.1 数制及转换数制及转换1 1、进位计数制、进位计数制 *进位计数制:进位计数制:又称进制或数制,是用一组固定的符号和统一又称进制或数制,是用一组固定的符号和统一的规则来表示数值的方法。有的规则来表示数值的方法。有数码数码、基数基数和和位权位权3 3个基本参数个基本参数

2、 *常用的常用的4 4种进制:种进制:二进制二进制八进制八进制十进制十进制十六进制十六进制数码数码0,10,10,1,70,1,70,1,90,1,90,1,9,0,1,9,A,B,FA,B,F基数基数2 28 810101616位权位权2 2i8 8i1010i1616i书写形式书写形式B BO OD DH H *R进制数表示:进制数表示:(N N)R=(=(kn-1-1k1 1k0 0.k-1-1k-2-2k-m m)R=其中,其中,ki0,1,(ki0,1,(R-1)-1)32 2、R进制数转换成十进制数进制数转换成十进制数 例例11(101.01101.01)2 2=(=(1 1222

3、 2+1 1220 0+1 122-2-2)1010=(5.25)=(5.25)1010 (3A.C3A.C)1616=(=(3 316161 1+101016160 0+12121616-1-1)1010=(58.75)=(58.75)10103 3、十进制数转换成、十进制数转换成R进制数进制数(1)(1)十进制数整数转换成十进制数整数转换成R进制数整数进制数整数 例例22 余数余数2 19 2 19 1(1(最低位最低位)2 9 2 9 1 1 2 4 2 4 0 0 2 2 2 2 0 0 2 1 2 1 1(1(最高位最高位)0 0 (19)(19)1010=(=(1001110011

4、)2 2 余数余数 8 19 8 19 3(3(最低位最低位)8 2 8 2 2(2(最高位最高位)0 0 (19)(19)1010=(=(2323)8 8 *转换规则:转换规则:按位权展开按位权展开 *整数转换规则:整数转换规则:除基取余除基取余、上右下左上右下左4(2)(2)十进制数小数转换成十进制数小数转换成R进制数小数进制数小数 整数部分整数部分 0.68752=0.68752=1 1.375 .375 1(1(最高位最高位)0.375 2=0.375 2=0 0.75 .75 0 0 0.75 2=0.75 2=1 1.5 .5 1 10.5 2=0.5 2=1 1.0 .0 1(1

5、(最低位最低位)(0.6875)(0.6875)1010 =(0.=(0.10111011)2 2 整数部分整数部分0.68758=0.68758=5 5.5 .5 5(5(最高位最高位)0.5 8=0.5 8=4 4.0 .0 4 4 (最低位最低位)(0.6875)(0.6875)1010 =(0.=(0.5454)8 8 例例33将将(0.6875)(0.6875)1010分别转换成二、八进制数分别转换成二、八进制数(3)(3)十进制数转换成十进制数转换成R进制数进制数 *转换规则:转换规则:整数部分、小数部分整数部分、小数部分分别转换后再合并分别转换后再合并 练习练习11(19.687

6、5)(19.6875)1010=(X)=(X)2 2=(Y)=(Y)8 8,X=X=?Y=Y=?*小数转换规则:小数转换规则:乘基取整乘基取整、上左下右上左下右54 4、二、八、十六进制数相互转换、二、八、十六进制数相互转换 *隐含规律:隐含规律:2=22=21 1,8=28=23 3,16=216=24 4(1)(1)二进制、八进制数相互转换二进制、八进制数相互转换 *转换规则:转换规则:从小数点向两边从小数点向两边分别转换;分别转换;3 3个个二进制数位二进制数位(不够时补零不够时补零)等价于等价于1 1个个八进制数位八进制数位 例例44(13.724)(13.724)8 8=(=(000

7、01 1 011.111011.111 010010 1 10000)2 2=(1011.1110101)=(1011.1110101)2 2 (10011.01)(10011.01)2 2=(=(0 01010 011.01011.010 0)2 2=(23.2)=(23.2)8 8 (2)(2)二进制、十六进制数相互转换二进制、十六进制数相互转换 *转换规则:转换规则:从小数点向两边从小数点向两边分别转换;分别转换;4 4个个二进制数位二进制数位(不够时补零不够时补零)等价于等价于1 1个个十六进制数位十六进制数位 例例55(2B.E)(2B.E)1616=(=(00001010 1011

8、.1111011.1110 0)2 2=(101011.111)=(101011.111)2 2 (11001.11)(11001.11)2 2=(=(0000001 1 1001.111001.110000)2 2=(19.C)=(19.C)1616 62.2 2.2 数值数据的机器表示数值数据的机器表示 计算机用编码计算机用编码(数据数据)表示信息:表示信息:数据数据数值数据数值数据非数值数据非数值数据逻辑数逻辑数 字符字符(串串)-含汉字含汉字图形图形其它其它 -声音、图像等声音、图像等无符号数无符号数 -自然数自然数有符号数有符号数 -整数、纯小数、实数等整数、纯小数、实数等 计算机只

9、支持最常用计算机只支持最常用(最基本最基本)的数据类型:的数据类型:数据表示数据表示计算机硬件能够计算机硬件能够直接识别和引用直接识别和引用的的数据类型数据类型 应用数据应用数据数据表示的转换:数据表示的转换:程序员程序员或或编译程序编译程序完成完成程序员程序员实际应用实际应用需要的需要的数据类型数据类型计算机语言计算机语言支持的支持的数据类型数据类型计算机硬件计算机硬件支持的支持的数据类型数据类型编译程序编译程序7一、机器数及其编码一、机器数及其编码 *数值数据:数值数据:组成组成由符号、小数点及数值构成,可缺省符号及小数点由符号、小数点及数值构成,可缺省符号及小数点 运算运算符号与数值符号

10、与数值分开运算分开运算;加减法需先加减法需先比较大小比较大小 *机器数:机器数:符号数字化符号数字化的数,通常的数,通常0/10/1表示表示+/-+/-;如如(+101)(+101)2 2(0 0101)101)2 2、(-0.101)(-0.101)2 2(-.-.101)101)2 2(1 1.101).101)2 2 真值真值带带“+”或或“-”符号的数符号的数 *机器数的运算方法:机器数的运算方法:采用采用手工运算方法手工运算方法,硬件实现很不方便;,硬件实现很不方便;如如(+x)+(-y)(+x)+(-y)时,先求时,先求x-yx-y、再求结果符号、最后求、再求结果符号、最后求x-y

11、x-y或或y-xy-x 采用采用新运算方法新运算方法,便于硬件实现,便于硬件实现(如符号与数值一起运算如符号与数值一起运算)必须使用必须使用新的编码方法新的编码方法!*机器数的编码方法:机器数的编码方法:原码、补码、反码、移码等原码、补码、反码、移码等81 1、原码表示法、原码表示法(原码编码方法原码编码方法)*基本思想:基本思想:用用0/10/1表示符号表示符号+/-+/-,数值位为真值的绝对值,数值位为真值的绝对值 *纯整数原码定义:纯整数原码定义:设设X=xn-2n-2x0 0,xi i=0=0或或1 1,则,则 X 原原=xn-1n-1xn-2n-2x0 0,X 原原 =X 00X2

12、2n-1n-12 2n-1n-1-X=2 2n-1n-1+|+|X|-2|-2n-1n-1X00 例例11+11011101原原=0 011011101;-11011101原原=1 111011101 例例22设设 X 原原=1 1101101,则,则X=-101101 例例33设设+X 原原=0 0110110,则,则-X 原原=1 1110110;+X 原原=0 0000000,则,则-X 原原=1 1000000,即即+0+0原原-0-0原原 练习练习11若若X=-01000=-01000,X 原原=?若若 X 原原=101010=101010,X=?9 *纯小数原码定义:纯小数原码定义

13、:设设X=0.=0.x-1-1x-(n-1)-(n-1),则,则 X 原原=x0 0.x-1-1x-(n-1)-(n-1)X 原原 =X 00X1 11-1-X=1+|=1+|X|-1|-1X00 例例44+0+0.1001.1001原原=0 0.1001.1001;-0-0.1001.1001原原=1 1.1001.1001 例例55 X 原原=1 1.01.01,则,则X=-0-0.01.01 *原码的特性:原码的特性:X与与 X 原原关系关系 X 原原与与X表示值的范围相同,表示值的范围相同,+0 +0原原-0-0原原;运算方法运算方法符号与数值符号与数值分开运算分开运算(与手工运算一致

14、与手工运算一致)适合于乘除法,适合于乘除法,加减法较复杂加减法较复杂102 2、补码表示法、补码表示法 *目标:目标:实现符号与数值实现符号与数值一起运算一起运算 *有模运算:有模运算:运算时只计量小于运算时只计量小于“模模”的部分,多余部分被丢的部分,多余部分被丢弃弃 模模计量系统的计数范围;计量系统的计数范围;(1)(1)有模运算与补数有模运算与补数 示例示例将时针从将时针从1010点拨向点拨向7 7点,有两种拨法:点,有两种拨法:倒拨倒拨10-3=710-3=7;顺拨顺拨10+9=7+12=710+9=7+12=7 *补数:补数:若若a、b、M满足满足a+b=M,称,称a、b互为模互为模

15、M的的补数补数 同余同余若若A、B、M满足满足A=B+kM(k为有符号整数为有符号整数),则记则记 AB(mod M),称,称B和和A为模为模M的同余的同余 运算特征运算特征c-a=c-(-(M-b)=c+b(mod(mod M),即即减去减去一个数一个数等价于加上等价于加上这个数的补数这个数的补数 可将减法运算可将减法运算转化转化为加法运算为加法运算11 *数据编码思路:数据编码思路:使数值部分无减法运算使数值部分无减法运算 负数用其正补数表示,正补数可用模加负数求得;负数用其正补数表示,正补数可用模加负数求得;例例-48(mod 12)-48(mod 12),即,即8=12+(-4)8=1

16、2+(-4)正数用其本身表示,即正数的同余数正数用其本身表示,即正数的同余数 例例 88(mod 12)88(mod 12),即,即8=8+12(mod 12)8=8+12(mod 12)(2)(2)补码定义补码定义 *基本思想:基本思想:设模为设模为M,真值,真值X的的 X 补补=M+X(mod (mod M)*纯整数补码定义:纯整数补码定义:设设X=xn-2n-2x0 0,xi i=0=0或或1 1,则,则 X 补补=xn-1n-1xn-2n-2x0 0,即,即 X 补补=2 2n n+X(mod 2+X(mod 2n n)=X 00X2 2n-1n-12 2n n+X=2=2n n-|-

17、|X|-2|-2n-1n-1X0 0 说明说明因因X连同符号位共连同符号位共n n位,故模为位,故模为2 2n n12 例例66+0001+0001补补=00001=00001,-0001-0001补补=1010 00000000-0001=11111-0001=11111 +1111 +1111补补=01111=01111,-1111-1111补补=10=10 0000-1111=100010000-1111=10001 练习练习22若若X=-01000=-01000、Y=+01000=+01000,X 补补=?Y 补补=?例例77n=5n=5、X00时,最大时,最大 X 补补=0=0111

18、11111,Xmaxmax=2=24 4-1=+15-1=+15 X0 0时,时,最小最小 X 补补=1 100000000,Xminmin=-2=-24 4=-16=-16 原码原码 无无 1 1111 111 1 1001 001 1 1000000 0 0000 000 0 0001 001 0 0111111补码补码 1 1000 000 1 1001 001 1 1111 111 0 0000 000 0 0001 001 0 0111111真值真值 -2 -2n-1n-1 -(2 -(2n-1n-1-1)-1)-1 -1 0 0 +1 +(2+1 +(2n-1n-1-1)1)+00

19、00 +0000补补=-0000=-0000补补=00000 =00000 数数0 0的补码惟一的补码惟一 正数补码正数补码最高位最高位(符号位符号位)为为0 0,负数最高位为,负数最高位为1 1 补码表示数的个数比原码多补码表示数的个数比原码多1 1个个13 *定点纯小数补码定义:定点纯小数补码定义:设设X=0.=0.x-1-1x-(n-1)-(n-1),则,则 X 补补=x0 0.x-1-1x-(n-1)-(n-1)X 补补=2+2+X(mod 2)(mod 2)=X 00X1 12+2+X=2-|=2-|X|-1|-1X0 0 例例88+0.1011+0.1011补补=0.1011=0.

20、1011 -0.1011 -0.1011补补=2-0.1011=2-0.1011=1010.0000-0.1011=1.0101.0000-0.1011=1.0101 说明说明因因X的计量范围为的计量范围为-1+2-1+2-(n-1)-(n-1)+1-2+1-2-(n-1)-(n-1),故模为,故模为2 21014 设纯整数设纯整数X=-xn-2n-2x0 0,Y 补补=1 1yn-2n-2y0 0,xi i和和yi i=0=0或或1 1 则则 X 补补=2 2n n+X=22n-1n-1+(2+(2n-1n-1-1)+1+-1)+1+X =1 0 =1 0 0+10+1 1 1+1=1 1=

21、1 0 0 0+10+1 -xn-2n-2x0 0 +xn-2n-2x0 0 =1 1 xn-2n-2x0+1 1(3)(3)补码的特性补码的特性 *X与与 X 补补的关系:的关系:设纯整数设纯整数X=+xn-2n-2x0 0,Y 补补=0 0yn-2n-2y0 0,xi i和和yi i=0=0或或1 1 则则 X 补补=X=0 0 xn-2n-2x0 Y=Y 补补=+yn-2n-2y0 0 Y=Y 补补-2-2n n=1 1yn-2n-2y0 0-2-2n-1n-1+(2+(2n-1n-1-1)+1-1)+1 =2 2n-1n-1-2-2n-1n-1-(-(1111-yn-2n-2y0 0+

22、1 1)=-(-(yn-2n-2y0 0+1 1)纯小数真值与补码的关系纯小数真值与补码的关系上述方法同样适用,自行推导上述方法同样适用,自行推导15 XX 补补 若若X为为正数正数,改符号位为,改符号位为0 0,其余各位不变;,其余各位不变;若若X为为负数负数,改符号位为,改符号位为1 1,其余各位取反、末位加,其余各位取反、末位加1 1 例例99X=+0101=+0101,X 补补=X=-0101=-0101,X 补补=0 0 01010101;1 1 1011011 1 X 补补X 若若 X 补补最高位为最高位为0 0,改其为正号,其余各位不变;,改其为正号,其余各位不变;若若 X 补补

23、最高位为最高位为1 1,改其为负号,其余各位取反、末位加,改其为负号,其余各位取反、末位加1 1 例例1010 X 补补=0=0 01010101,X=+=+01010101;X 补补=1=1 10111011,X=-0100101 116 X 原原X 补补 若若 X 原原最高位为最高位为0 0,X 补补=X 原原;若若 X 原原最高位为最高位为1 1,X 补补=X 原原各数值位各数值位取反、末位加取反、末位加1 1 例例1111 X 原原=0=0 0101,0101,X 补补=0 0 01010101;X 原原=1=1 0101,0101,X 补补=1 1 1011011 1 X 补补X 原

24、原 若若 X 补补最高位为最高位为0 0,X 原原=X 补补;若若 X 补补最高位为最高位为1 1,X 原原=X 补补各数值位各数值位取反、末位加取反、末位加1 1 例例1212 X 补补=0=0 0101,0101,X 原原=0 0 01010101;X 补补=1=1 0101,0101,X 原原=1 1 1011011 117 *X 补补与与-X 补补的关系:的关系:设纯整数设纯整数 X 补补=xn-1n-1xn-2n-2x0 0,xi i=0=0或或1 1,则,则 当当X00时时,X=X 补补,其中,其中xn-1n-1=0=0,-X 补补=1 1xn-2n-2x0 0+1+1=xn-1n

25、-1xn-2n-2x0 0+1+1 当当X0 0时时,X 补补=2 2n n-|-|X|,其中,其中xn-1n-1=1=1,-X 补补=|=|X|=|=2 2n n-X 补补=1=11111-X 补补+1+1=xn-1n-1xn-2n-2x0 0+1+1 X 补补-X 补补 X 补补的各位取反的各位取反(含符号位含符号位)、末位加、末位加1 1 -X 补补X 补补-X 补补的各位取反的各位取反(含符号位含符号位)、末位加、末位加1 1 例例1313 X 补补=1=1 01100110,-X 补补=0 0 1001+11001+1=0 0 10101010 练习练习33若若X=-01001=-0

26、1001,-X 补补=?若若 X 补补=101010=101010,-X 补补=?-X=?18 0 0 0100101001 0 0 0100101001 练习练习44 若若X=+01001=+01001,X 原原=,X 补补=;若若X=-01010=-01010,X 原原=,X 补补=;1 1 0101001010 1 1 1011010110 +0101001010 0 0 0101001010 若若 X 原原=001010=001010,X=,X 补补=;若若 X 原原=101110=101110,X=,X 补补=;-0111001110 1 1 1001010010 +01110011

27、10 1 1 1001010010 若若 X 补补=001110=001110,X=,-X 补补=;若若 X 补补=101110=101110,X=,-X 补补=;-1001010010 0 0 1001010010 0 0 1010110101 0 0 1010110101 若若-X 补补=101011=101011,X 补补=,X 原原=;若若-X 补补=001001=001001,X 补补=,X 原原=1 1 1011110111 1 1 0100101001 714193 3、反码表示法、反码表示法 *目标:目标:作为原码与补码相互转换时的一种作为原码与补码相互转换时的一种过渡编码过渡

28、编码 *纯整数反码定义:纯整数反码定义:设设X=xn-2n-2x0 0,xi i=0=0或或1 1,取模,取模=2=2n n-1-1,则,则 X 反反=(2(2n n-1)+-1)+X(mod 2(mod 2n n-1)-1)=X 00X2 2n-1n-1(2(2n n-1)+-1)+X -2 -2n-1n-1X00 *纯小数反码定义:纯小数反码定义:设设X=0.=0.x-1-1x-(n-1)-(n-1),xi i=0=0或或1 1,模,模=2-2=2-2-(n-1)-(n-1),则,则 X 反反=(2-2(2-2-(n-1)-(n-1)+X(mod 2-2(mod 2-2-(n-1)-(n-

29、1)=X 00X1 1(2-2(2-2-(n-1)-(n-1)+)+X -1 -1X00 例例1414+1101+1101反反=01101=01101,-1101-1101反反=10010=1001010 例例1515+0.1101+0.1101反反=0.1101=0.1101,-0.1101-0.1101反反=1.0010=1.001020 *反码与补码关系:反码与补码关系:若若X为为正数正数,X 补补=X 反反;若;若X为为负数负数,X 补补=X 反反+1+111 原码、补码、反码比较:原码、补码、反码比较:机器数的机器数的最高位最高位均为符号位均为符号位(0/1(0/1表示正表示正/负负

30、);原码原码 无无 1 1111 111 1 1001 001 1 1000000 0 0000 000 0 0001 001 0 0111111反码反码 无无 1 1000 000 1 1110 110 1 1111111 0 0000 000 0 0001 001 0 0111111补码补码 1 1000 000 1 1001 001 1 1111 111 0 0000 000 0 0001 001 0 0111111真值真值 -2 -2n-1n-1 -(2 -(2n-1n-1-1)-1)-1 -1 0 0 +1 +(2+1 +(2n-1n-1-1)1)+0 +0补补=-0=-0补补,补码

31、比原码、反码,补码比原码、反码多表示多表示一个负数一个负数 若真值若真值X为为正数正数,X 原原=X 补补=X 反反;若若真值真值X为为负数负数,X 补补=X=X反反+1+1,X 反反=X 原原各位求反各位求反(符号位除外符号位除外);214 4、移码表示法、移码表示法 *目标:目标:实现符号与数值实现符号与数值一起编码一起编码 *纯整数移码定义:纯整数移码定义:设设X=xn-2n-2x0 0,其中,其中xi i=0=0或或1 1,取模,取模=2=2n n,则,则 X 移移=2 2n-1n-1+X(mod 2(mod 2n n)=2 2n-1n-1+X -2 -2n-1n-1X2 2n-1n-

32、1 例例1616-111-111移移=0001=0001,-001-001移移=0111=0111,000000移移=1000=1000,+001 +001移移=1001=1001,+111+111移移=1111=1111,-1000-1000移移=0000=0000补码补码 1 1000 000 1 1001 001 1 1111 111 0 0000 000 0 0001 001 0 0111111移码移码 0 0000 000 0 0001 001 0 0111 111 1 1000 000 1 1001 001 1 1111111真值真值 -2 -2n-1n-1 -(2 -(2n-1n

33、-1-1)-1)-1 -1 0 +1 +(20 +1 +(2n-1n-1-1)-1)*移码的特性:移码的特性:数在数轴上为数在数轴上为连续编码连续编码(无符号数无符号数),便于比较大小;,便于比较大小;X 移移=X 补补符号位取反、其余各位不变符号位取反、其余各位不变22二、数值数据的表示方法二、数值数据的表示方法1 1、数值数据的数学特征、数值数据的数学特征 进制进制可有多种;可有多种;符号符号为为“+”或或“-”,可以没有符号;,可以没有符号;小数点小数点为为“”,可隐含表示,可隐含表示,小数点位置小数点位置可任意变化;可任意变化;数码长度数码长度可任意变化;可任意变化;不会产生不会产生运

34、算溢出运算溢出233 3、数值数据的表示方法、数值数据的表示方法 *符号问题处理:符号问题处理:有符号数有符号数用用数字表示数字表示符号,符号,无符号数无符号数符号位置为数值符号位置为数值;*进制问题处理:进制问题处理:只支持只支持二进制方式二进制方式;数据本身无法数据本身无法区分区分在指令级进行在指令级进行区分区分无符号数、整数无符号数、整数纯小数纯小数实数实数隐含隐含隐含隐含于于最低位之后最低位之后隐含隐含隐含隐含于于最高位之前最高位之前纯小数纯小数尾数尾数+整数整数指数指数定点格式定点格式 浮点格式浮点格式数据本身无法数据本身无法区分区分,在指令级进行,在指令级进行区分区分 *小数点问题

35、处理:小数点问题处理:点的表示点的表示用用隐含方式隐含方式表示;表示;位置表示位置表示约定约定不同不同数据类型数据类型的位置不同的位置不同24 *数码长度问题处理:数码长度问题处理:不同不同数据类型数据类型数码长度数码长度固定固定;便于便于定长方式处理定长方式处理 同一同一数据类型数据类型可有可有几种几种长度;长度;可可提高提高处理及存储效率处理及存储效率 *运算问题处理:运算问题处理:运算方法运算方法按数据按数据表示的格式及编码表示的格式及编码进行相应运算;进行相应运算;数值数据的处理方法:数值数据的处理方法:包括包括数据的表示数据的表示和和数据的操作数据的操作方法方法表示格式表示格式(小数

36、点表示小数点表示)编码方式编码方式(符号及数值表示符号及数值表示)数码长度数码长度(决定了数值范围决定了数值范围)运算方式运算方式溢出处理溢出处理数据的表示数据的表示数据的操作数据的操作数据数据处理处理定点与浮点表示定点与浮点表示机器数编码机器数编码 数据类型区分数据类型区分由由指令操作码指令操作码区分;区分;溢出处理溢出处理硬件检测硬件检测并并发出通知发出通知,由,由软件处理软件处理3925三、数的定点表示三、数的定点表示1 1、定点表示方法、定点表示方法 指指约定约定数据中数据中隐含隐含的的小数点位置固定不变小数点位置固定不变。*定点数的表示范围:定点数的表示范围:(设数码长度为设数码长度

37、为n n位位)自然数自然数(无符号无符号)整数整数(有符号有符号)纯小数纯小数Sn-1n-1 Sn-2n-2 S0 0 Sf f Sn-2n-2 S0 0 Sf f S-1-1 S-(n-1)-(n-1)数值数值 数符数符 数值数值 数符数符 数值数值类型类型编码编码自然数自然数(无符号无符号)纯整数纯整数(有符号有符号)纯小数纯小数原码原码0 02 2n n-1-1(无符号编码无符号编码)-(2-(2n-1n-1-1)-1)+(2+(2n-1n-1-1)-1)-(1-2-(1-2-(n-1)-(n-1)+(1-2+(1-2-(n-1)-(n-1)补码补码-2-2n-1n-1+(2+(2n-1

38、n-1-1)-1)-1-1+(1-2+(1-2-(n-1)-(n-1)*定点表示形式定点表示形式:有约定在数值有约定在数值最低位之后最低位之后和和最高位之前最高位之前两种两种2 2、定点数的表示、定点数的表示 采用定点表示格式的数称为定点数,通常有几种数码长度。采用定点表示格式的数称为定点数,通常有几种数码长度。26四、数的浮点表示四、数的浮点表示 概念:概念:尾数尾数-M,阶,阶E,尾数的基,尾数的基RM,阶的基,阶的基RE1 1、浮点表示方法、浮点表示方法 指指约定约定数据中数据中隐含隐含的的小数点位置是可变的小数点位置是可变的。表示表示尾数用尾数用定点纯小数定点纯小数表示,阶用表示,阶用

39、定点整数定点整数表示表示 *浮点表示形式:浮点表示形式:由尾数和阶组成由尾数和阶组成 格式格式1 1 SE E SM M阶符阶符 阶值阶值 数符数符 尾数值尾数值1 1em或或SE EMSM 27 *浮点数的表示范围与精度:浮点数的表示范围与精度:假设尾数及阶的基均为假设尾数及阶的基均为2 2,数值长度分别为,数值长度分别为m位及位及e位位2 2、浮点数的表示、浮点数的表示 采用浮点表示格式的数称为浮点数,通常有几种数码长度。采用浮点表示格式的数称为浮点数,通常有几种数码长度。下溢区下溢区正上溢区正上溢区(+)(+)负上溢区负上溢区(-)(-)负数区负数区机器零机器零绝对零绝对零N正正min正

40、数区正数区N负负maxN正正maxN负负min 例例11若浮点表示格式中若浮点表示格式中m m=10=10、e e=4=4,尾数及阶均为补码编码,尾数及阶均为补码编码方式,写出方式,写出(-54)(-54)1010的机器码。的机器码。解:解:(-54)(-54)1010=(-110110)=(-110110)2 2=-0.110112=-0.110112+110+110,浮点数机器码为浮点数机器码为 0 00 0110110 1 100101001010000000000 影响因素影响因素e决定了范围、决定了范围、m决定了精度决定了精度28 例例22若浮点表示格式中尾数为若浮点表示格式中尾数为

41、8 8位位(含含1 1位符号位位符号位)、阶为、阶为5 5位位(含含1 1位符号位位符号位),写出下列实数的浮点数及机器码。,写出下列实数的浮点数及机器码。编码格式编码格式实数实数浮点数浮点数浮点数的表示浮点数的表示阶阶尾数尾数阶码阶码尾数码尾数码原码原码原码原码+10101.11+10101.11+0.10101112+0.10101112+101+101 0 0101 0 0101 0 1010111 0 1010111-0.0010111-0.0010111-0.101112-0.101112-10-10移码移码补码补码+0.0010111+0.0010111+0.101112+0.10

42、1112-10-10-10101.11-10101.11-0.10101112-0.10101112+101+101 例例33浮点表示格式同例浮点表示格式同例2 2,写出下列机器码的浮点数。,写出下列机器码的浮点数。编码格式编码格式浮点数的表示浮点数的表示浮点数浮点数阶阶尾数尾数阶码阶码尾数码尾数码原码原码原码原码 0 1101 0 1101 0 1010111 0 1010111+0.10101112+0.10101112+1101+1101 1 0110 1 0110 1 1011010 1 1011010移码移码补码补码 0 0101 0 0101 0 1011100 0 1011100

43、 1 1101 1 1101 1 1101000 1 1101000201 0010 1 0010 1 1 101110010111000 1110 0 1110 0 0 101110010111001 0101 1 0101 1 1 01010010101001-0.10110102-0.10110102-110-110+0.101112+0.101112-1011-1011-0.00110002-0.00110002+1101+1101293 3、浮点数的规格化、浮点数的规格化 *目的:目的:在现有的浮点数表示格式中,使在现有的浮点数表示格式中,使表示精度最大化表示精度最大化。例例44若浮

44、点表示格式中若浮点表示格式中m m=3=3、e e=3=3、尾数和阶均为原码编码、尾数和阶均为原码编码方式,方式,不同表示方法不同表示方法的浮点数精度不同:的浮点数精度不同:+101.1=+101.1=0.1010.10112123 3=0.0100.0101121124 4=0.0010.001011201125 50 0110 011 0 1010 1010 1000 100 0 0100 0100 1010 101 0 0010 001 *规格化数的要求:规格化数的要求:尾数真值的尾数真值的最高位为最高位为1 1,即,即|M|1 1 *规格化的操作:规格化的操作:左规左规尾数左移一位,阶

45、码减一;尾数左移一位,阶码减一;右规右规尾数右移一位,阶码加一。尾数右移一位,阶码加一。应用应用非规格化数非规格化数规格化数,可能需多次规格化操作规格化数,可能需多次规格化操作4430 例例55若浮点数尾数及阶的基均为若浮点数尾数及阶的基均为2 2,回答下列问题:,回答下列问题:非规格化浮点数非规格化浮点数+1.01112+1.01112+010+010-0.000102-0.000102+010+010+1011.12+1011.12+010+010规格化操作规格化操作右规右规1 1次次规格化浮点数规格化浮点数+0.101112+0.101112+010+010编码格式编码格式规格化数的机器

46、码规格化数的机器码最大正数最大正数最小正数最小正数最大负数最大负数最小负数最小负数阶阶尾数尾数阶阶尾数尾数阶阶尾数尾数阶阶尾数尾数阶阶尾数尾数原码原码 原码原码 0 0 0 0111111 0 0 0 01 1 1 111111111 1 1 1 1111111 0 0 0 01 1 1 100000000移码移码 补码补码0 0 0 01 1 1 1111111110 0 0 01 1 1 100000000 *规格化数的表示范围及数码特征:规格化数的表示范围及数码特征:原码尾数原码尾数最高数值位最高数值位为为1 1;补码尾数补码尾数最高数值位最高数值位与符号相反与符号相反 便于硬件实现便于

47、硬件实现-1.0000-1.0000真值真值补码补码1000010000-0.1111-0.1111-0.1001-0.1001-0.1000-0.1000-0.0111-0.0111-0.0000-0.000010001100011011110111110001100011001110010000000000左规左规3 3次次-0.100002-0.100002-001-001右规右规4 4次次+0.101112+0.101112+110+1101111 1111 000000001 1 1 1111 111 1 1 1 11 1 1 100000000 0 0 0 0111 111 1 1

48、 1 111111111110000 0000 111111111 1 1 10 0 0 01111 1111 1 1 1 10 0 0 000000000314 4、IEEE 754IEEE 754标准标准 *表示格式及数码长度:表示格式及数码长度:有单精度、双精度两种格式及长度有单精度、双精度两种格式及长度 *编码方式:编码方式:数制数制M和和E均采用二进制方式均采用二进制方式(即即R RM M=R=RE E=2)=2);23238 81 1单精度浮点表示格式单精度浮点表示格式数符数符S阶阶E尾数尾数M3232525211111 1双精度浮点表示格式双精度浮点表示格式数符数符S阶阶E尾数尾

49、数M6464 码制码制M为为原码编码原码编码的的定点纯小数定点纯小数(改进了改进了定点位置定点位置),E为为移码编码移码编码的的定点整数定点整数(改进了改进了移码值移码值)32 *阶的码制:阶的码制:采用的是余采用的是余127127码和余码和余10231023码码 余余X X码码偏移值为偏移值为X X的移码称为余的移码称为余X X码,码,标准移码:标准移码:真值真值=E-2-28-18-1=E-128-128,余余127127码码:真值真值=E-(2-(28-18-1-1-1-1-1)=)=E-127-127;*尾数的码制:尾数的码制:(以单精度格式为例以单精度格式为例)支持支持非规格化尾数非

50、规格化尾数和和规格化尾数规格化尾数两种方式;两种方式;规规 格格 化尾数化尾数规格化的尾数真值规格化的尾数真值=1.=1.m m-2-2m m-24-24,机器码机器码M=m m-2-2m m-24-24,尾数精度尾数精度=24=24位位 阶的范围阶的范围11E254254,而,而0 0和和255255另作他用另作他用,即即-126-126阶的真值阶的真值127127 非规格化尾数非规格化尾数尾数真值尾数真值=0.=0.m m-1-1m m-23-23,机器码机器码M=m m-1-1m m-23-23,尾数精度尾数精度=23=23位位;33 *IEEE 754 *IEEE 754标准浮点表示的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁