变量和基本内置类型

2.1 基本内置类型
    2.11.算数类型
        分类:整型(integral type)           与                 浮点型

c++:算数类型
类型
含义
最小尺寸
bool
布尔类型
未定义
char
字符
8位
wchar_t
宽字符
16位
char16_t
Unicode字符
16位
char32_t
Unicode字符
32位
short
短整型
16位
int
整型
16位
long
长整型
32位
long long(c++11)
长整型
64位
float
单精度浮点数
6位有效数字
double
双精度浮点数
10位有效数字
long double
扩展精度浮点数

10位有效数字

注:1.bool型值为真或假。
      2. 基本的字符类型为char,一个char空间可以存放机器基本字符集中任意字符对应的数字值,故其大小应该与一个机器字节一样。
       3.其他字符类型用于扩展字符集。
       4.除字符与布尔类型外,其他整型用于表示不同尺寸的整数.
      5.  大多数计算机以2的整数次幂个比特来作为块来处理内存,可寻址的最小内存块称为"字节(byte)",存储的基本单元称为"字(word)",字通常由几个字节组成。大多数机器的字节由8比特构成。字则由32或者64比特构成,也就是4字节或8字节。
        6.  大多数计算机将内存中的每个字节于一个数字(被称为地址·)关联起来。
       7.     一般来说,float以1个字(32比特)来表示,double以2字表示,long double用三或四个字表示。且float与double分别有7和16个有效位。

        带符号类型与无符号类型
        除去布尔型和扩展的字符型之外,其他整型可以划分为带符号的(signed)和无符号的(unsigned),带符号的可以表示正负0,无符号只能表示大于等于0.
        在其前添加unsigned即可,例如unsigned int。
        字符型分为三种,char、signed char、unsigned char。char 与signed char不一样,尽管表示形式只有两种。
        无符号类型中的所有比特用来存储值。
        8比特的signed char理论为-127 到127,大多数计算机为-128至127.
  注: 1.当明确知晓数值不可能为负时,选用无符号类型.
          2.使用int执行整数计算,如果数值超出则用long long。
         3.算术表达式中不要使用char与bool。
        4. 浮点数一般使用double。
        5.int类型比较特殊,具体的字节数同机器字长和编译器有关。如果要保证移植性,尽量用__int16 __int32 __int64吧
__int16、__int32这种数据类型在所有平台下都分配相同的字节。所以在移植上不存在问题。
所谓的不可移植是指:在一个平台上编写的代码无法拿到另一个平台上运行时,不能达到期望的运行结果。
例如:在32为平台上(所谓32位平台是指通用寄存器的数据宽度是32)编写代码,int 类型分配4个字节,而在16位平台是则分配2个字节,那么在16位上编译出来的exe,
其中是为int分配2字节,而在32位平台上运行时,会按照4个字节来解析,显然会出错误的!!
而对于非int行,目前为止,所有的类型分配的字节数都是兼容的,即不同平台对于同一个类型分配相同的字节数!!
建议:在代码中尽量避免使用int类型,根据不同的需要可以用short,long,unsigned int 等代替。   
       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值