C++数据类型

整型

C++标准

  • short:>= 2字节
  • int:>= short
  • long:>= 4字节,>= int
  • long long:>=8字节,>= long

linux系统

  • short:2字节
  • int:4字节
  • long:4字节
  • long long:8字节

int被设置为计算机处理时效率最高的长度,即系统的位数。

常量

后缀:l或L表示将long常量,u或U表示unsigned int常量。U、L可以任意组合。

进制:十进制,按照int、long、long long的顺序;十六进制或八进制,按照int、unsigned int、long、unsigned long、long long、unsigned long long的顺序。这是因为十六进制常表示地址,无符号。

浮点型

C++标准

  • float:>= 4字节
  • double:>= 6字节,>= float
  • long double:>= double

linux系统

  • float:4字节
  • double:8字节
  • long double:12字节

常量

默认为double常量。

后缀:l或L表示long double常量,f或F表示float常量。

类型转换

初始化和赋值

浮点型赋整型:若浮点数较小,则丢弃小数部分;若浮点数较大,不同系统的结果是不同的,C++并没有定义。

表达式

整型提升:在计算表达式时,C++将bool、char、unsigned char、signed char、short值转换为int。将unsigned short根据系统转换为unsigned int(int和short等长)或int(short小于int)。

转换顺序:浮点型 > 整型

强制转换

(typeName) value;
typeName (value);

第一种格式来自C,第二种格式是纯粹的C++。新格式的想法是,要让强制类型转换就像是函数调用,这样对内置类型的强制转换就像是为用户定义的类设计的类型转换。

posted @ 2022-08-20 18:36  煮茶听风雨  阅读(91)  评论(0编辑  收藏  举报