- 空间积分
- 0
- 信誉积分
- 413
- UID
- 22996974
- 阅读权限
- 90
- 积分
- 46808
- 帖子
- 6453
- 精华
- 0
- 可用积分
- 46809
- 专家积分
- 0
- 在线时间
- 3661 小时
- 注册时间
- 2009-12-09
- 最后登录
- 2012-05-23
  
- 帖子
- 6453
- 主题
- 56
- 精华
- 0
- 可用积分
- 46809
- 专家积分
- 0
- 在线时间
- 3661 小时
- 注册时间
- 2009-12-09
- 最后登录
- 2012-05-23
- 论坛徽章:
- 0
|
发表于 2012-02-22 18:01:23
|显示全部楼层
本帖最后由 pmerofc 于 2012-02-22 21:30 编辑
整型常量。不带小数点的数值是整型常量,但应注意其有效范围。如在Turbo C中,系统为整型数据分配2个字节,其表值范围为-32768~32767,如果在程序中出现数值常量23456,系统把它作为int型处理,用2个字节存放。如果出现49875,由于超过32768,2个字节放不下,系统会把它作为长整型(long int)处理,分配4个字节。在Visual C++中,凡在-2147483648~2147483647之间的不带小数点的数都作为int型,分配4个字节,在此范围外的整数,而又在long long型数的范围内的整数,作为long long型处理。 ————谭浩强 ,《C程序设计》(第四版),清华大学出版社,2010年6月,p51
一系列的逻辑错乱
首先,“整型常量”中的“整型”显然是一个集合名词,而“整型数据”中的“整型”是另一个概念,似乎只能理解为int类型。这违反了形式逻辑中的同一律
其次,int类型的表示范围和它为2个字节没有必然的因果关系
“由于超过32768”更是胡说八道
“2个字节放不下,系统会把它作为长整型(long int)处理,分配4个字节”表明作者根本不清楚整数常量的类型划定原则
“在Visual C++中,凡在-2147483648~2147483647之间的不带小数点的数都作为int型”,事实上根本不存在负常量
“在此范围外的整数,而又在long long型数的范围内的整数,作为long long型处理”,这是胡扯
|
|