变量和基本内置类型

xiaoxiao2021-02-28  58

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 等代替。           

转载请注明原文地址: https://www.6miu.com/read-2626291.html

最新回复(0)