首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

float类型的范围有关问题~

2014-01-05 
float类型的范围问题~~float的指数范围为-127~+128,而double的指数范围为-1023~+1024,并且指数位是按补码

float类型的范围问题~~
float的指数范围为-127~+128,而double的指数范围为-1023~+1024,并且指数位是按补码的形式来划分的。
  其中负指数决定了浮点数所能表达的绝对值最小的非零数;而正指数决定了浮点数所能表达的绝对值最大的数,也即决定了浮点数的取值范围,float的范围为-2^128 ~ +2^128。
 哪位大侠指点一下范围-2^128~+2^128是怎么来的~~跪求指点啊~~
[解决办法]
由指数范围决定的。

引用:
float的指数范围为-127~+128,而double的指数范围为-1023~+1024,并且指数位是按补码的形式来划分的。
  其中负指数决定了浮点数所能表达的绝对值最小的非零数;而正指数决定了浮点数所能表达的绝对值最大的数,也即决定了浮点数的取值范围,float的范围为-2^128 ~ +2^128。
 哪位大侠指点一下范围-2^128~+2^128是怎么来的~~跪求指点啊~~

[解决办法]
楼主理解有误差,实际上,对于浮点型来说,在内存中,把一个浮点型数据分成小数部分和指数部分进行存储,在计算机中用二进制数来表示小数部分,用2的幂次来表示指数部分,而且对于浮点型的数值范围,在Turbo C,Turbo C++6.0,MS C中,float类型的数值范围是(-3.4*10^-38~3.4*10^38),而在ANSI C中,并未具体规定每种类型数据的长度,精度和数值范围,所以不必太在意数值问题。
[解决办法]
记住一点就行了,计算机没有十个手指

热点排行