- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第二章运算方法和运算器;2.1数据与文字的表示;2.1.1数据格式;小数点如何表示?;1.定点数的表示方法;假设用一个n+1位字来表示一个定点数x,其中一位x0用来表示数的符号位,其余位数代表它的量值。为了将整个n+1位统一处理起见,符号位x0放在最左位置,并用数值0和1分别代表正号和负号,这样,对于任意定点数x=x0x1x2…xn在定点机中表示如下形式:;如果数x表示的是纯小数,那么小数点位于x0和x1之间。当x0x1x2…xn各位均为0时,数x的绝对值最小,即|x|=0;当各位均为1时,x的绝对值最大,即|x|=1-2-n故数的表示范围为
0≤|x|≤1-2-n(2.1)
如果数x表示的是纯整数,那么小数点位于最低位xn的右边,此时数x的表示范围为
0≤|x|≤2n-1(2.2)
目前计算机中多采用定点纯整数表示,因此将定点数表示的运算简称为整数运算。;2.浮点数的表示方法;;在机器中表示一个浮点数时,一定要给出尾数,用定点小数形式表示。尾数局部给出有效数字的位数,因而决定了浮点数的表示精度。
二是要给出指数,用整数形式表示,常称为阶码,阶码指明小数点在数据中的位置,因而决定了浮点数的表示范围。
浮点数也要有符号位。在早期计算机中,一个机器浮点数由阶码和尾数及其符号位组成:;后来为便于软件移植,按照IEEE754的标准,32位浮点数和64位浮点数的标准格式为:;32位的浮点数中:
S:浮点数的符号位,占1位,S=0表示正数,S=1表示负数。
M是尾数,放在最低局部,占用23位,用小数表示,小数点放在尾数域的最前面。
E是阶码,占用8位,阶符采用隐含方式,即采用移码方式来表示正负指数。
移码方法对两个指数大小的比较和对阶操作都比较方便,因为阶码域值大者其指数值也大。采用这种方式时,将浮点数的指数真值e变成阶码E时,应将指数e加上一个固定的偏移值127,即E=e+127。;假设不对浮点数的表示做出明确规定,同一个浮点数的表示就不是唯一的。例如:
〔1.75〕10
=1.11×20(IEEE规格化表示)
=0.111×21????(传统规格化表示)
=0.0111×22?
=0.00111×23
为了提高数据的表示精度??当尾数的值不为0时,尾数域的最高有效位应为1,否那么要以修改阶码同时左右移小数点的方法,使其变成这一要求的表示形式,这称为浮点数的规格化表示。;;;;当阶码E为全0且尾数M也为全0时,表示的真值x为零,结合符号位S为0或1,有正零和负零之分。
当阶码E为全1,且尾数M也为全0时,表示的真值x为无穷大,结合符号位S为0或1,有正无穷和负无穷之分。
这样在32位浮点数表示中,要除去E用全0和全1〔25510〕表示零和无穷大的特殊情况,指数的偏移值不选128,而选127。对于规格化浮点数,E的范围变为1到254,真正的指数值e那么为-126到+127。因此32位浮点数表示的绝对值的范围是10-38-10+38〔以10的幂表示〕。;NaNs(Not-a-Number),??(Infinity);#includestdio.h
#includestring.h
intmain()
{
unionfloatandint
{
floatp;
inti;
}fandi;
fandi.i=0xffc00000;//1111,1111,1100,0000,0000,0000,0000,0000B;
printf(%x\n%f\n,fandi.i,fandi.p);
return0;
};;0100000100110110000000000000;[例2]将十进制数数20.59375转换成754标准的32位浮点数的二进制格式来存储。
解:20.59375=10100.10011
规格化:=1.010010011?24e=4
所以:s=0,E=e+127=131
0100
m=010010011
单精度浮点数二进制存储格式为:
01000001101001001100000000000000;3.十进制数串的表示方法;;用压缩的十进制数串表示一个数,要占用主存连续的多个字节。每个数位占用半个字节(即4个二进制位),其值可用二-十编码(BCD码)或数字符的ASCII码的低4位表示。
符号位也占
原创力文档


文档评论(0)