• 2017.11.10 重读C++ Primer


    第二章   变量和变量类型

    1. C++ 算数类型

    bool                     布尔 最小尺寸未定义

    char                     字符 8位

    wchar_t               宽字符 16位

    char16_t             Unicode 字符 16位

    char32_t             Unicode 字符  32位

    short                   短整型  16位

    int                       整型    16位

    long                    长整型  32位

    long long            长整型  64位

    float                    单精度浮点型 6位有效数字

    double                双精度浮点型 10位有效数字

    long double         扩展精度浮点数 10位有效数字

    如何选择类型

    • 明知数值不可能为负的时候,选用无符号类型。unsigned
    • 使用 int 执行整数运算。在实际应用中,short 常常太小而long一般和int有一样的尺寸。如果数值超过了int的表示范围,选用long long。
    • 在算数表达式中不要使用char 和bool,只有在存放字符或布尔值的时候才能使用它们。因为char在一些机器上是有符号的,而在另一些机器上又是无符号的。
    • 浮点数运算选用double。
     
    2. 类型转换
     
    • 我们一个布尔类型算数值赋给布尔类型,初始值为0则结果位false,否则结果为true。
    • 当我们把一个布尔值赋给非布尔类型时,初始值为false则结果为0,初始值为true 则结果为1.
    • 浮点数赋给整数类型时,进行近似处理。结果值仅保留浮点数中小数点之前的部分。不会四舍五入。
    • 把整数赋给浮点类型时,小数部分记为0。如果整数所占空间超过浮点类型的容量,精度可能损失。
    尽管我们不会故意给无符号的对象赋值一个负值,却可能写出这样的代码。例如,当一个算数表达式中既有无符号的数又有int值时,那个int 值就会转换成无符号的数,把int
    转换成无符号的过程和把int 直接赋值给无符号变量一样。
           例如
    unsigned u =10;
    int i= -42;
    std::cout<<i+i<<std::endl;
    std::cout<<u+i<<std::endl;       int占32位,输出4294967264
    第一个表达式,两个数相加得到了期望值;在第二个表达式,相加前,先把整数-42转换成无符号的数。把负数转换成无符号数相当于直接给无符号数赋值一个负值,结果等于这个负数加上无符号数的模。
     
    转义序列
     
    换行符             \n
    纵向制表符     \v
    反斜线            \\
    回车符            \r
    横向制表符     \t
    退格符            \b
    问号                \?
    进纸符            \f
    报警符            \a
    双引号               \"
    单引号             \'
     
                   
     
     
  • 相关阅读:
    MongoDB新存储引擎WiredTiger实现(事务篇)
    mongodb存储引擎WiredTiger
    WiredTiger 4.1.0 发布,MongoDB 存储引擎
    MongoDB存储引擎、索引 原
    MongoDB Wiredtiger存储引擎实现原理
    MongoDB 副本集
    MongoDB 聚合
    MongoDB 索引
    mongodb 开发规范
    MongoDB 基本操作 数据库、集合
  • 原文地址:https://www.cnblogs.com/wongsh/p/7816523.html
Copyright © 2020-2023  润新知