文章
77
粉丝
9
获赞
2
访问
7.6k
1)当n=0时,由于无符号整数不能表示负数,会将0-1解读为unsigned int的最大值;而i<=所能表示的最大值这个条件会永远为正,导致永远不会出现跳出循环的条件,从而发生死循环
如果将变量定义为int型,则0-1表示-1,当第一次判断就不满足要求会直接跳出循环,因此不会发生死循环
2)返回值不相等
f1(23) =00FF FFFFH
f2(23)=4B7F FFFFH
3)因为f(24)精度丢失,无法准确表示二进制25个1产生了舍入
而int型变量能准确表示二进制25个1没有精度丢失
4)因为32位int型变量最大只能表示-2^31-2^31-1,再大则发生了移出,而且int型变量采用补码表示,32个1补码表示真值-1
最大n为30
5)阶码全1属于浮点数的预留数字,符号位为0,表示+∞
n为126时,结果不溢出
n为23时,f2结果精确无舍入
登录后发布评论
暂无评论,来抢沙发