首页 » 读书笔记 » 正文

32位float的数值范围 浮点数最大表示范围

小白告诉你:当我们在编程的时候遇到float,但是具体的使用却不怎么清晰,那么小编为你娓娓道来。

32位c的数值范围?

1. 浮点:位数为32位,有效位为6-7位,数值范围为-3.4e38和3.4e38

根据最广泛使用的IEEE754标准,浮点数据类型的长度为32位,其中最高位为符号位,中间8位为索引位,最后23位为尾位。因此,浮动范围(-3.4e38)~(3.4e38)很大,基本上可以满足我们的需要。然而,一个问题是精度。23位尾数的最大范围是2^23−1=8388607,所以浮点数的小数精度只有6-7位,所以使用浮点数时要注意其精度。

类似地,double的尾数从23位扩展到52位,顺序码从8位增加到11位。其示值范围为-1.7e 308~1.7e 308,精度为2^52-1=4503599627370495,为16位,最小精度为15位。

浮点数最大表示范围?

简单地说,int存储整数。数字之间的差值固定为1。在无符号的前提下,32位有符号位,其余代表一个31位二进制数(这不是固定的,根据实际情况也会有int16、Int64),基本在±2到N-1次方的范围内。

浮点(单精度浮点数)也存储在4字节和32位中,但其间距不是固定的,因此称为浮点类型。总之,离0越远,精度越低。存储器分为三部分:符号位(1)、索引位(8)和数字位(23)。尾数有一个进位前导码(依稀记得这应该是底层硬件原因),所以值是1.0-2.0,索引位的最大值是127。数字的形式被理解为科学计数法的C次方±1。B(尾数)×2(索引位-127)范围是±3.4028235e38(23个1乘以*2的127次方)。