关于c语言中实型变量的表示范围

我看了2本书!
{
1=本是谭浩强的《c语言程序设计》第三版
2=是晨晖c语言学校系统
}
1给出的取值范围是
float : -3.4*10^-38到3.4*10^38
doubul : -1.7*10^-308到1.7*10^308
long double: -1.2*10^-4932到1.2*10^4932

2给出的取值范围是
float : -10^38到10^38
double : -10^308到10^308

麻烦各位对这个取值范围的由来和为什么会出现2种不同答案
给一个正确的解答

  c语言中的实型分为单精度浮点数和双精度浮点数。
  float单精度取值范围:1.175494e-038 ~ 3.402823e+038
  double双精度取值范围:2.225074e-308 ~ 1.797693e+308

  一般来说,C语言标准库中的float.h定义了单精度和双精度浮点数的最大值和最小值,程序员可以在C源码文件中使用FLT_MIN、FLT_MAX两个宏来表示单精度浮点数的最小值和最大值,DBL_MIN和DBL_MAX两个宏表示双精度数的最小值和最大值。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-05-24
和操作系统有关的,随操作系统变化字节数变化
在Visual C++中int数值范围就是负的2的31次方到2的31次方-1(-2147483648~2147483647)
long 4 -2147483648~2147483647
unsigned long 4 0~4294967295
unsigned int 4 0~4294967295
float 4 3.4*10^-38~3.4*10^38
double 8 1.7*10^-308~1.7*10^308
char 1 -128~127本回答被提问者采纳
第2个回答  2008-05-24
第一个答案显得更为详细些,第二个只是标明了变量的数量级,但也不能说他是错的。
相似回答