C语言的数据类型与转换

974阅读 0评论2012-04-30 810
分类:C/C++

基本数据类型
  void | (signed unsigned) char, short, int, long, long long | float, double, long double

各类型尺寸
  char < short <= int <= long <= long long

  float, double, long double
  一般遵循IEEE 754标准规范: 单精度(32位), 双精度(64位), 单扩展精度(至少43位), 双扩展精度(至少79位)

常量表示
  整数
    15, 017, 0xff
    int范围 ? int (long范围 ? long:long long)
    强制指定:加L或LL
  浮点数
    57.0 57. 57.0e0 57E0 5.7e1 5.7e+1 .57e2 570.e-1
    默认双精度
    强制指定:加F或L

算术转换
  整型升级
  char,short,int位段, 如果int可以完整表示源类型的所有值,那么该源类型的值就转换为int, 否则转换为unsigned int

  任一操作数的类型是浮点型
  long double <- double <- float

  两个操作数的类型都不是浮点型
  unsigned long long <- long long <- unsignd long <- long <- unsigned <- int
  特殊情形:if(sizeof(long int) == sizeof(unsigned int)) 转换成unsigned long int
上一篇:好书推荐
下一篇:关于编码