资源描述:
《计算机组成原理第二章(I)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、任意一个十进制数N可以写成N=M×10E计算机中一个任意进制数N可以写成N=±M×R±EM:尾数,是一个纯小数。E:浮点的指数,是一个整数。R:基数,对于二进计数值的机器是一个常数,一般规定R为2,8或16。浮点数的表示方法9×10-28=0.9×10-272×1033=0.2×1034——N=10E·M(十进制表示)尾数:用定点小数表示,给出有效数字的位数,决定了浮点数的表示精度;阶码:用定点整数形式表示,指明小数点在数据中的位置,决定了浮点数的表示范围。EsE1E2……EmFsF1F2……Fn阶符阶码数符尾数一个机器浮点数由阶码和尾数及其符号位组成
2、:浮点数的标准格式(-1)s×m×2e为便于软件移植,使用IEEE(电气和电子工程师协会)标准:IEEE754标准:尾数用原码;阶码用移码;基为2S——尾数符号,0正1负;M——尾数,纯小数表示,小数点放在尾数域的最前面。采用原码表示。E——阶码,采用“移码”表示;阶符采用隐含方式,即采用“移码”方法来表示正负指数。按照IEEE754的标准,32位浮点数和64位浮点数的标准格式为:SEF31302322032位SEF63625251064位移码、补码和真值之间的关系真值(十进制)真值(二进制)[x]补(补码)[x]移(移码)-128-1000,0000
3、1000,00000000,0000-127-0111,11111000,00010000,0001…………-1-0000,00011111,11110111,111100000,00000000,00001000,000010000,00010000,00011000,0001………1270111,11110111,11111111,1111(3)浮点数的规格化表示一个浮点数有不同的表示:0.5;0.05101;0.005102;5010-2为提高数据的表示精度,需做规格化处理。浮点数是数学中实数的子集合,由一个纯小数乘上一个指数值来组成。浮点
4、数的规格化规格化目的:为了提高数据的表示精度为了数据表示的唯一性尾数为R进制的规格化:绝对值大于或等于1/R二进制原码的规格化数的表现形式:正数0.1xxxxxx负数1.0xxxxxx正数0.1xxxxxx负数1.1xxxxxx补码尾数的规格化的表现形式:尾数的最高位与符号位相反把不满足这一表示要求的尾数,变成满足这一要求的尾数的操作过程,叫作浮点数的规格化处理,通过尾数移位和修改阶码实现。在计算机内,其纯小数部分被称为浮点数的尾数,对非0值的浮点数,要求尾数的绝对值必须>=1/2,即尾数域的最高有效位应为1,称满足这种表示要求的浮点数为规格化表示。例
5、如:0.1000101010规格化处理:既然非0值浮点数的尾数数值最高位必定为1,则在保存浮点数到内存前,通过尾数左移,强行把该位去掉,用同样多的尾数位就能多存一位二进制数,有利于提高数据表示精度,称这种处理方案使用了隐藏位技术。0.11000100.100010当然,在取回这样的浮点数到运算器执行运算时,必须先恢复该隐藏位。隐藏位技术:(4)规格化浮点数的真值x=(-1)s(1+F)2E-127e=E–127一个规格化的32位浮点数x的真值为:SEF313023220=2n+x-2nx2n[x]移=x0x1x2···xn32位浮点数格式:移
6、码定义:x=(–1)s×(1+F)×2E-1023一个规格化的64位浮点数x的真值为:这里e是真值,E是机器数例1:若浮点数x的二进制存储格式为(41360000)16,求其32位浮点数的十进制值。解:0100,0001,0011,0110,0000,0000,0000,0000数符:0阶码:1000,0010尾数:011,0110,0000,0000,0000,0000指数e=阶码-127=10000010-01111111=00000011=(3)10包括隐藏位1的尾数:1+F=1.01101100000000000000000=1.011011于
7、是有x=(-1)s×1.M×2e=+(1.011011)×23=+1011.011=(11.375)10例2:将十进制数20.59375转换成32位浮点数的二进制格式来存储解:首先分别将整数和分数部分转换成二进制数:20.59375=10100.10011然后移动小数点,使其在第1,2位之间10100.10011=1.010010011×24e=4于是得到:e=E–127S=0,E=4+127=131=1000,0011,M=010010011最后得到32位浮点数的二进制存储格式为01000001101001001100000000000000=(41
8、A4C000)16解:-0.75=-3/4=-0.112=-1.1×2-1=(-1)1×(1+