C++Primer读书笔记之基本内置类型

c++ 内置类型见下表

类型含义存储空间
bool布尔型------
char字符型8位
wchar_t宽字符型16位
short短整数16位
int整数32位
long长整数32位
float单精度浮点型32位(7位有效位)
double双精度浮点型64位(15位有效位)
long double扩展精度浮点型19位有效位
注:很多类型的存储空间也随着机器的不同而不同。

一.整型

表示整数、字符、和布尔值的算术类型合称为整型。

1.字符型   

其中字符型又分为两种,char和wchar_t ,由于char 只能表示有限的255个字符,而世界上不同国家语言的不同,如中文和日语,所以这些字符的总个数远远超过了255,所以引入了wchar 来存储 更多的字符。


2.整型值

short、int、long都表示整型值,但存储空间不一样,所以表示的大小也不一样。一般short占半个机器字长(一个机器字长等于4个字节),int 占一个机器字长,long 一般占1个或者两个机器字长。

其中整型又分为有符号和无符号。如果某机器上short 类型占16位,那么可以赋给有符号短整型的最大值为2的15次方-1,无符号短整型的最大值为2的16次方-1;当给一个16位的无符号短整型(unsigned short)对象赋值100000是,赋的值是多少呢?我们可以拿100000对65536求余得到34464.

注意:整型运算中,当碰到用32位表示的int 类型和用64位表示的long 类型面临选择时一定注意,在int 能保证范围的情况下一定不要用long,因为用long进行计算所花的成本远远高于int


3.浮点型

浮点型分为float、double、long double.一般用32位来表示float ,用64位来表示double,用96位或者128位来表示long double.

在float 类型中隐式的精度损失是不能忽视的,而double类型的精度代价相对于float类型的精度代价可以忽略,而且有些机器上的double 类比float 反而快一些。long double 类型提供的精度一般情况下都没必要,而且还要消耗额外的代价。






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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值