long and int 的区别。

xyzguan 2003-04-07 01:26:16
rt
...全文
769 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
突击召唤师 2003-04-07
  • 打赏
  • 举报
回复
注意,机器相关类型的最终解释是由“编译器”决定的。所以,整形长整形倒底是多长,是由你的编译器而不是机器决定的。tc就是这样规定的吧,int就是int16,long是int32。
mikeshi 2003-04-07
  • 打赏
  • 举报
回复
to bigtea:
在Windows下可以运行Dos的程序是向下兼容的考虑,所以在windows下运行dos的程序利用了虚拟机的原理,你的tc在windows下运行时,windows给你提供了一个虚拟的16位的dos(这个好像就subsystem吧,我记不清了),所以你会得到这样的结果
FiLng 2003-04-07
  • 打赏
  • 举报
回复
是没有规定,我说的是一般编译器的实现。
突击召唤师 2003-04-07
  • 打赏
  • 举报
回复
现在的windows下面,Long和int都是32位,没有区别。
xyzguan 2003-04-07
  • 打赏
  • 举报
回复
to bigtea()
你的环境好象应该属于16位范围
zhouzhaohan 2003-04-07
  • 打赏
  • 举报
回复
同意arya(行者)
bigtea 2003-04-07
  • 打赏
  • 举报
回复
不同意<FILNG飞浪>的观点,我用的机器是32位的系统,win2k下tc2.0,整数的表示范围仍为-(2^15)(-32768)至+2^15-1(+32767).long位2^32,正如楼上所列.
arya 2003-04-07
  • 打赏
  • 举报
回复
一般C/C++语言规范只规定sizof(short) <= sizeof(int) <= sizeof(long). 具体是什么关系,由各个编译器自行决定。
diabloqin 2003-04-07
  • 打赏
  • 举报
回复
up
xyzguan 2003-04-07
  • 打赏
  • 举报
回复
请大家说明自己说的是在那些系统中。
bugfree 2003-04-07
  • 打赏
  • 举报
回复
long 代表: long int
现在你知道区别了吧 --- 就是长
hnhhcj 2003-04-07
  • 打赏
  • 举报
回复
long 和 int 表示的数的范围不一样,LONG的范围要大的多,而且他们再内存中占的大小也不同
iceheart 2003-04-07
  • 打赏
  • 举报
回复
printf("\nsizeof(long)=%d\nsizeof(int)=%d",sizeof(long),sizeof(int));
xyzguan 2003-04-07
  • 打赏
  • 举报
回复
Platform SDK: Windows API
Windows Data Types:

INT 32-bit signed integer.
LONG 32-bit signed integer.

lplpzhuzhu 2003-04-07
  • 打赏
  • 举报
回复
因系统而异
总之,就是范围不一样
wanghongit 2003-04-07
  • 打赏
  • 举报
回复
int 表示有符号整型的范围为-32768~32767
long ...................-2147483648~2147483647
FiLng 2003-04-07
  • 打赏
  • 举报
回复
用于表示的bit位数不一样,
在32位系统,一般:
long 64位
int 32位

69,373

社区成员

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

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