请问IEEE754标准中,32位所表示的最大正数是多少?老师给的答案是(2-2的-23次方)*2的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问IEEE754标准中,32位所表示的最大正数是多少?老师给的答案是(2-2的-23次方)*2的相关的知识,希望对你有一定的参考价值。

请问IEEE754标准中,32位所表示的最大正数是多少?老师给的答案是(2-2的-23次方)*2的127次方,怎么我算的是(2的23次方-1)*2的127次方,我知道尾数M最大值是1.111…111(小数点后23个1),转换成十进制就不太懂了,求大神解释一下,谢谢!

请问IEEE754标准中,32位所表示的最大正数就是(2-2的-23次方)*2;

尾数位数实际上是:1位隐含位+23位尾数=24位。

最大值是1.111…111(小数点后23个1)  

转换为10进制恰好为1+1/2+1/4+...+(1/2)的23次方=2-(1/2)的23次方=2-2的(-23)次方;

扩展资料:

IEEE 754规定了四种表示浮点数值的方式:单精确度(32位)、双精确度(64位)、延伸单精确度(43比特以上,很少使用)与延伸双精确度(79比特以上,通常以80位实现)。只有32位模式有强制要求,其他都是选择性的。

大部分编程语言都有提供IEEE浮点数格式与算术,但有些将其列为非必需的。例如,IEEE 754问世之前就有的C语言,有包括IEEE算术,但不算作强制要求(C语言的float通常是指IEEE单精确度,而double是指双精确度)。

参考技术A 简单点说,尾数M明显大于1小于2,你说的那个尾数不在这个范围内,所以你算的不对,要注意尾数M是有小数点的。
要仔细说老师说的为什么是对的呢,这就涉及到二进制与十进制转化的问题,小数点之前每个数位权重依次是2^0,2^1,2^2,2^3,..., 小数点之后每个数位权重依次是2^(-1),2^(-2),2^(-3),..., 所以M转化成十进制应该是2^0+2^(-1)+2^(-2)+...+2^(-23), 等比数列求和结果就是2-2^(-23).追问

谢谢

追答

不客气~

参考技术B 你的理解是对的
尾数位数实际上是:1位隐含位+23位尾数=24位。
最大值是1.111…111(小数点后23个1)
转换为10进制恰好为1+1/2+1/4+...+(1/2)的23次方=2-(1/2)的23次方=2-2的(-23)次方
其他的没有问题追问

在等回答的时候,我自己突然想明白了,老师教过,111转成十进制是2的3次方减1,n个1转成十进制是2的n次方减1,所以111…1(24个1)转成十进制就是2的24次方减1,1.1111…1就等于是把这个数向右移动23位,等于让这个数乘以2的-23次方,就等于老师说的2减去2的-23次方

还是很谢谢你

本回答被提问者采纳
参考技术C 简单点说,尾数M明显大于1小于2,你说的那个尾数不在这个范围内,所以你算的不对,要注意尾数M是有小数点的 参考技术D 为什么不是2^128次方呀?

IEEE-754浮点数标准

定义

  IEEE754标准规定小数的表示形式为V=(-1)S*M*2E

  S为符号位

  M为尾数

  E为阶码

  一个单独的符号位编码S,符号位为0,表示正数,符号位为1表示负数。

  k位的阶码字段exp=ek-1.....e 编码阶码E。

  n位小数字段frac=fn-1......f0 编码尾数M,但是编码出来的值也依赖于阶码字段的值是否等于0。

俩种浮点数

  IEEE754定义了俩种浮点数,分为32位单精度浮点数,64位双精度浮点数。

  32位精度浮点数使用 1 位表示符号位,8位表示阶码,23位表示尾数。

  64位精度浮点数使用 1 位表示符号位,11位表示阶码,52位表示尾数。

4种表现形式

  IEEE754将小数表示为4种形式,规格化小数,非规格化小数,无穷,NAN,以下使用单精度来说明

规格化小数 s 非0 非 255 f
非规格化小数 s 0 f
无穷 s 11111111 0
NAN s 11111111 f

具体表示

  IEEE754 定义的小数表示为 V=(-1)S*M*2E   只要计算出M和E即可。

  规格化小数

    阶码计算方式:E=e-Bias,e=ek-1.....e0  ,Bias=2k-1 -1。

    小数计算方式:小数字段等于0.fn-1......f0,尾数M=1+f,即尾数M默认以1开始。

  非规格化小数

    阶码计算方式:E=1-Bias,e=0,Bias=2k-1 -1。

    小数计算方式:小数字段等于0.fn-1......f0。

  特殊值

    阶码全为1的是特殊值,当小数域全0时是无穷,s=1,表示负无穷,s=0表示正无穷。

    阶码全为1,小数域不是全0时,表示NAN,即非数字,比如 无穷 - 无穷,根号负数。

    以下使用8位表示浮点数。S=1,K=4,M=3,Bias=2k-1-1=7

描述 位表示           指数
e E 2E
                      小数
f M
                                   值   
2E x M       V   十进制

0

最小的非规格化数

 

 

 

最大非规格化数

 

0 0000 000

0 0000 001

0 0000 010

0 0000 011

.......

0 0000 111   

                   0         -6       1/64

                   0         -6       1/64

                   0         -6       1/64

                   0         -6       1/64

 

                   0   -6       1/64

 

         0/8        0/8

         1/8        1/8

         2/8        2/8

         3/8        3/8

 

         7/8        7/8

                       0/512        0            0

                       1/512        1/512     0.001953 

                       2/512        1/256     0.003906

                       3/512        3/512     0.005859

 

                       7/512         7/512    0.013672

最小的规格化数

 

 

 

 

 

 

 

 

 

0 0001 000

0 0001 001

....

0 0110 110

0 0110 111

0 0111 000

0 0111 001

0 0111 010

.......

0 1110 110

                   1         -6       1/64

        1   -6    1/64

 

        6   -1    1/2

        6   -1    1/2

        7    0    1

        7    0    1

        7    0    1

 

       14     7    128

         0/8         1/8

     1/8    9/8

 

    6/8     14/8  

    7/8   15/8 

    0      8/8

    1/8     9/8

    2/8   10/8 

 

    6/8   14/8

                         8/512        8/512  0.015625    

            9/512     9/512   0.017578

 

         448/512    448/512  0.875  

         480/512  480/512  0.9375

         512/512  512/512  1

         576/512  576/512  1.125

         640/512  640/512  1.25

 

                  224    224    224      

最大规格化数

0 1110 111        14   7   128     7/8   15/8          240    240    240 

无穷大

0 1111 000           

 

 

  

 

以上是关于请问IEEE754标准中,32位所表示的最大正数是多少?老师给的答案是(2-2的-23次方)*2的的主要内容,如果未能解决你的问题,请参考以下文章

将十进制数表示成ieee754标准的32浮点规格化数 27/64

IEEE754是啥

float数据和IEEE754标准

由IEEE 754深入理解浮点数

IEEE 754的简介

float类型的二进制表示方法