Vc++中,单精度的取值范围是多少,怎么算得,精度又是多少,为什么

为什么精度是7

单精度即float类型,它在计算机内部存储占4字节,一个字节占八位,4字节也就是32位。

你想知道怎么算的范围,首先你要知道浮点数在计算机是怎么表示的:
浮点数在机内用指数型式表示,分解为:数符,尾数,指数符,指数四部分。
1bit(符号位) 8bits(指数位) 23bits(尾数位)

由此可知道,float范围是由指数的位数来决定的。
float的指数位有8位,即范围为-2^128 ~ +2^128,也就是-3.40E+38 ~ +3.40E+38。

至于精度什么意思,从表面上意思就可以知道,它表示小数点能取几位的意思。它的精度是7,表示小数点后取7位,不足补零,比如float类型0.7,这个实际上是0.7000000

十进制7位,二进制23位
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-03-21
数符(1位)+小数部分(23位)+指数部分(8位)。小数部分占的位数越多,数的有效数字越多,精度越高;指数部分占的位数越多,则能表示的数值范围越大。