求32位浮点所能表示的最大正数值,最小负数值,和最小绝对值怎么算?

水平低,请易懂些。... 水平低,请易懂些。 展开
呼延冷菱re
2008-07-26 · TA获得超过157个赞
知道小有建树答主
回答量:129
采纳率:0%
帮助的人:93万
展开全部
你说在computer science里么?
IEEE 754 binary floating point representation之下,32位float point number,最左边一位(bit 31)表示符号(正负),接下来8位(bit 30 - 23)表示指数,剩下23位(bit 22 - 0)表示数值(比较复杂,具体见公式).

(-1)^s × (1 + m / 2^23) × 2^(e - 127)
s是第一位,e是8位指数,m是数值。

可表示的范围是 ±1.40129846432481707e-45 to ±3.40282346638528860e+38.
czy9160
2008-07-26 · TA获得超过8894个赞
知道大有可为答主
回答量:2509
采纳率:0%
帮助的人:2586万
展开全部
浮点分为单精度和双精度
双精度浮点运算,表示的范围要宽,根据不同的软件,有不同的范围。

浮点数7位有效数字。
双精度数16位有效数字。

浮点数取值范围:
负数取值范围为 -3.4028235E+38 到 -1.401298E-45,正数取值范围为 1.401298E-45 到 3.4028235E+38。

双精度数取值范围:
负值取值范围-1.79769313486231570E+308 到 -4.94065645841246544E-324,正值取值范围为 4.94065645841246544E-324 到 1.79769313486231570E+308。

C/C++中浮点数的表示遵循IEEE 754标准。
一个浮点数由三部分组成:符号位S、指数部分E(阶码)以及尾数部分M(如下)。
Floating
S--------E-------M
1位-----8位-----23位

Double
S--------E-------M
1位-----11位----52位

十进制数的换算计算公式为(n^m表示n的m次幂,B表示前面的数字是二进制):

S * 2^(E-127) * (1.M)B

浮点数的精度取决于尾数部分。尾数部分的位数越多,能够表示的有效数字越多。

单精度数的尾数用23位存储,加上默认的小数点前的1位1,2^(23+1) = 16777216。因为 10^7 < 16777216 < 10^8,所以说单精度浮点数的有效位数是7位。

双精度的尾数用52位存储,2^(52+1) = 9007199254740992,10^16 < 9007199254740992 < 10^17,所以双精度的有效位数是16位。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乔玉巧夏璧
2019-10-28 · TA获得超过3.5万个赞
知道小有建树答主
回答量:1.4万
采纳率:29%
帮助的人:981万
展开全部
某浮点数字长12位,其中阶符1位,阶码3位,数符1位,尾数7位,阶码以2为底,阶码和尾数均用补码表示。
它所能表示的最大正数、最小规格化正数、绝对值最大负数是多少?
最大正数=
(1

2^(-
7)

×
2^(2^(3)

1)

(1

2^(-
7
))
×
2^(7)

127

最小规格化正数=
2^-
1
×
2
^(-
2^(3))

2

1
×
2^
(-
8
)=
2^
(-
9)

1/
512

绝对值最大的负数=

1
×
2^(2^3

1)


1
×
2^7


128
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
matlabfunc
2008-08-09 · TA获得超过1197个赞
知道小有建树答主
回答量:1004
采纳率:0%
帮助的人:591万
展开全部
推荐一本书行不?
Numrical Recipes in F77
上面将的很细
如果是IEEE的数的话,直接查标准就好了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式