【编程语言】C++基本数据类型及其表示范围

1. 长度

类型名类型字节表示范围
char字符型1-128 ~127
unsigned char无符号字符型10 ~255
signed char有符号字符型(与字符型相同)1-128 ~127
int整型*与机器有关
unsigned int无符号整型*与机器有关
signed int有符号整型(与整型相同)*与机器有关
short int短整型2-32,768~ 32,767
unsigned short int 无符号短整型20~65,535
signed short int有符号短整型(与短整型相同)2-32,768~ 32,767
long int长整型4-2,147,483,648 ~2,147,483,647
signed long int有符号长整型(与长整型相同)4-2,147,483,648 ~ 2,147,483,647
unsigned long int无符号长整型40~4,294,967,295
float浮点型43.4E +/- 38 (7位有效数字)
double双精度型81.7E +/- 308 (15位有效数字)
long double长双精度型101.2E +/- 4932 (19位有效数字)
注:unsigned和signed只用于修饰char和int,且signed修饰词可以省略。当用unsigned修饰词时,后面的类型说明符可以省略。例如:

  signed int n; //与"int n;"等价
  signed char ch; //与"char ch;"等价
  unsigned int n; //与"unsigned n;"等价
  unsigned char ch; //与"unsigned ch;"等价
  short只用于修饰int,且用short修饰时,int可以省略,即:
  short int n; //与"short n;"等价
  long只能修饰int和double。当用long修饰int时,int可以省略,即:
  long int n; //与"long n;"等价
  int和unsigned int类型占用一个机器一个字(word)的字节。在16位操作系统上,它们占用2个字节;在32位操作系统上,它们占用4个字节。

2. 精度

        如果一个双目运算符两边的操作数类型不同,先要将它们转换为相同的类型,即较低类型转换为较高类型,然后再参加运算。所谓类型的高低,跟所占的存储空间大小有直接关系,所占存储空间越大的类型,级别越高。
  图中横向的箭头表示必须的转换,如两个float型数参加运算,虽然它们类型相同,但仍要先转换成double型再进行运算,结果亦为double型。纵向箭头表示当运算符两边的操作数为不同类型时的转换,如一个long型数据与一个int型数据一起运算,需要先将int型数据转换为long型,然后两者再进行运算,结果为long型。所有这些转换都是由系统自动进行的,使用时只需了解结果的类型即可。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值