导航
您当前的位置:首页 > 学历类 > 研究生考试
问题:

答案窝,daanwo.com
[应用题] 43.(13分)已知f(n)=Σ2i=2n+1-1=11L 1B,计算f(n)的C语言函数f如下∶
1 int f1( unsigned n)
2{ int sum=1, power=1;
3 for(unsigned i=0;i<= n-1;i ++)
4 { power *=2;
5 Sum += power;
6 }
7 return sum;
8 }
将f中的int都改为float,可得到计算f(n)的另一个函数f2。假设unsigned和int型数据都占32 位,float采用IEEE 754单精度标准。
请回答下列问题。
((1)当n=0时,f1会出现死循环,为什么?若将f1中的变量i和n都定义为int型,则f1是否还会出现死循环?为什么?
(2)f1(23)和f2(23)的返回值是否相等?机器数各是什么(用十六进制表示)?(3)f1(24)和f(24)的返回值分别为33554 431和33554432.0,为什么不相等?
(4)f(31)=232-1,而f1(31)的返回值却为-1,为什么?若使f1(n)的返回值与f(n)相等,则最大的n 是多少?
(5)f2(127)的机器数为7F80 0000H,对应的值是什么?若使f2(n)的结果不溢出,则最大的n是多少?若使f2(n)的结果精确(无舍入),则最大的n是多少?
答案窝,daanwo.com
Tags:
答案解析:

相关问题
关于我们 | 用户指南 | 版权声明 | 给我留言 | 联系我们 | 积分商城 | 答案求助 | 网站地图
Copyright © 2024 www.daanwo.com All Rights Reserved