基本内置类型

C++的算数类型:整数、浮点数、单个字符、和布尔值,还定义了特殊类型:void。算数类型的存储空间依机器而定。C++标准规定了每个算数类型的最小存储空间。

C++:算数类型

类型含义最小存储空间
bool布尔型——
char字符型8位
wchar_t宽字符型16位
short短整型16位
int整型16位
long长整型32位
float单精度浮点型6为有效数字
double双精度浮点型10为有效数字
long double扩展精度浮点型10为有效数字

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

 字符型:char和wchar_t。char用于存储基本字符,通常是单个及其字节;wchar_t由于扩展字符集,则用多于一个字节表示。

 short类型为半个机器字(word)长,而long类型为一个或两个机器字长(在32位机器中的int型和long类型通常字长是相同的)。

 bool类型表示真值true和false。可以将算数类型的任何职赋给bool对象。0值算数型代表false,任何非0值都代表true。

  1. 带符号和无符号类型

              除bool整形可以带符号(signed)和无符号(unsigned)。对于unsigned来说,负数总是超出其取值范围。  但将负数赋给unsigned是合法的。其结果是该负数对该类型的取值个数求模后的值。

            

关于编译器器求模,引用网上的一个观点
这个是不被移植的。没必要解释和理解。
按照数学的模定义,a=b*c+d,b>d>0就是模,也就是说负数的模也将是正数,负数对负数的模还是正数,这实际上就要求a-b*c>0,这个等式对于任意的a和b而言,取适当的c即可解。
但是有些程序员总有一些奇怪的想法,比如-1%2,,并且希望模会是负数,-1%-2时又希望是正数,简而言之,就是希望除法的规则延续到求模运算,但是如果把模规定为正负,a-b*c=d就会出现两个解,这样就更麻烦了。所以如果你的模运算出现了负数,那你就得怀疑这个模是否和你希望的定义一致,或者说,根本不用负数参与求模。

关于负数的求模运算:请看http://blog.csdn.net/sonydvd123/article/details/8241666

         2.   浮点型

                一般float类型用一个字(32为)表示,double类型用两个字(64位)表示,long double类型用三个或四个字(96或128)来表示。

            对与实际的类型来说,float类型精度通常是不够的——float型只能保证6位有效数字,而double型至少保证10位有效数字,能满足大多数计算的需要。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值