long与double,这两个类型的区别

HXL122LCQ 2011-09-29 04:08:03
long与double,这两个类型哪个比较占内存,哪个的范围比较大?
...全文
2626 20 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
dzry24 2011-09-30
  • 打赏
  • 举报
回复
32为系统:long占4个字节,double占8个字节,
long表示的是整数,范围-2147483648~2147483647
double表示浮点数,整数部分范围为-2^1024 ~ +2^1024。
大海啊全是水 2011-09-30
  • 打赏
  • 举报
回复
double 这个数据的表示比较复杂的,有分几个区 又表示正负,幂数什么的, 还是百度查查 了解个大概就行了
laomashitu 2011-09-30
  • 打赏
  • 举报
回复
long 是long int的简写,占四个内存单元,double占八个内存单元。
ljhhh0123 2011-09-30
  • 打赏
  • 举报
回复
浮点不精确的表示一个很大的范围。
整数精确的表示一个固定的范围。
所以没多少可比性。
txzsp 2011-09-30
  • 打赏
  • 举报
回复
这是根据编译器不同而不同的。
txzsp 2011-09-30
  • 打赏
  • 举报
回复
这是根据编译器不同而不同的。
txzsp 2011-09-30
  • 打赏
  • 举报
回复
具体的长度是根据编辑器版本有关的。
C语言没有硬性规定字节的长途但规定:long int >= int double >= float
LZ需要知道长度的话可以用:
printf("%d,%d",sizeof(long),sizeof(double));
查看类型长度。
worldy 2011-09-30
  • 打赏
  • 举报
回复
long只能表示整数,4个字节。
double双精度数,8个字节
wdxy520 2011-09-30
  • 打赏
  • 举报
回复
随机器而异 可以sizeof(long)sizeof(double)
快乐的小菜鸟 2011-09-29
  • 打赏
  • 举报
回复
1.sizeof一下 目前vs里 long 4 double 8 (字节)
范围 long 本身是限定符 long int long float long本身会有默认
AndyZhang 2011-09-29
  • 打赏
  • 举报
回复
double 8字节
long 4字节
AnYidan 2011-09-29
  • 打赏
  • 举报
回复
随系统不同,sizeof(long) 不同
我喝多了 2011-09-29
  • 打赏
  • 举报
回复
类型不一致,没有可比性,32位系统下,long占4字节内存,double占8字节内存
Gloveing 2011-09-29
  • 打赏
  • 举报
回复
除了楼上说的而且、、
浮点数和整数在存储时都是不一样的、、、
忧郁马赛克 2011-09-29
  • 打赏
  • 举报
回复
这类问题书上有的吧?
赵4老师 2011-09-29
  • 打赏
  • 举报
回复
搜“浮点数表示法”
赵4老师 2011-09-29
  • 打赏
  • 举报
回复
C:\Program Files\Microsoft Visual Studio 10.0\VC\crt\src\float.h
...#define DBL_DIG         15                      /* # of decimal digits of precision */
#define DBL_EPSILON 2.2204460492503131e-016 /* smallest such that 1.0+DBL_EPSILON != 1.0 */
#define DBL_MANT_DIG 53 /* # of bits in mantissa */
#define DBL_MAX 1.7976931348623158e+308 /* max value */
#define DBL_MAX_10_EXP 308 /* max decimal exponent */
#define DBL_MAX_EXP 1024 /* max binary exponent */
#define DBL_MIN 2.2250738585072014e-308 /* min positive value */
#define DBL_MIN_10_EXP (-307) /* min decimal exponent */
#define DBL_MIN_EXP (-1021) /* min binary exponent */
#define _DBL_RADIX 2 /* exponent radix */
#define _DBL_ROUNDS 1 /* addition rounding: near */
...


C:\Program Files\Microsoft Visual Studio 10.0\VC\crt\src\limits.h
...#define LONG_MIN    (-2147483647L - 1) /* minimum (signed) long value */
#define LONG_MAX 2147483647L /* maximum (signed) long value */
#define ULONG_MAX 0xffffffffUL /* maximum unsigned long value */
...
bdmh 2011-09-29
  • 打赏
  • 举报
回复
一个是整数,一个是浮点数,而且规则也不一样,浮点数是国际电工标准
cocoabird 2011-09-29
  • 打赏
  • 举报
回复
百度 。
火头军 2011-09-29
  • 打赏
  • 举报
回复
这两个范围没有可比性吧一个表示整数一个表示浮点数。32位一般的编译器 long占4个字节 double 占 8个这个楼主自己可以试一下 sizeof

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧