第二章   变量和变量类型

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
双引号               \"
单引号             \'
 
               
 
 

2017.11.10 重读C++ Primer的更多相关文章

  1. 2017.11.10 MPLAB IPE + ICD-3+ PIC32MM

    A trouble with ICD-3  programmer. MCU:  PIC32MM sw:  MPLAB IPE tool:  ICD-3 1 product introduction a ...

  2. 2017.11.10 web中URL和URI的区别

    URI:Uniform Resource Identifier,统一资源标识符: •URL:Uniform Resource Locator,统一资源定位符: •URN:Uniform Resourc ...

  3. 微信iphone7、 ios10播放视频解决方案 2016.11.10

    2016.11.10日更新以下方法 微信最新出同层播放规范 即使是官方的也无法解决所有android手机的问题. 另外iphone 5 .5s 某些手机始终会弹出播放,请继续采用 “以下是老的解决办法 ...

  4. Xamarin 2017.11.9更新

     Xamarin 2017.11.9更新 本次更新主要针对Xamarin.iOS,适配了iOS 11.1和Xcode 9.1.Visual Studio 2017升级到15.4.3获得新功能.Visu ...

  5. Xamarin 2017.11.1更新

     Xamarin 2017.11.1更新 本次更新主要解决了一些bug.Visual Studio 2017升级到15.4.2获得新功能.Visual Studio 2015需要工具-选项-Xamar ...

  6. 2017/11/6 Leetcode 日记

    2017/11/6 Leetcode 日记 344. Reverse String Write a function that takes a string as input and returns ...

  7. [BZOJ5109][LOJ #6252][P4061][CodePlus 2017 11月赛]大吉大利,今晚吃鸡!(最短路+拓扑排序+传递闭包+map+bitset(hash+压位))

    5109: [CodePlus 2017]大吉大利,晚上吃鸡! Time Limit: 30 Sec  Memory Limit: 1024 MBSubmit: 107  Solved: 57[Sub ...

  8. loj #6250. 「CodePlus 2017 11 月赛」找爸爸

    #6250. 「CodePlus 2017 11 月赛」找爸爸 题目描述 小 A 最近一直在找自己的爸爸,用什么办法呢,就是 DNA 比对. 小 A 有一套自己的 DNA 序列比较方法,其最终目标是最 ...

  9. ubuntu 11.10 安装apache2 tomcat6

    ubuntu 11.10 安装apache2 tomcat6 导读 Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目 ...

随机推荐

  1. 3.静态AOP实现-代理模式

    通过代理模式实现在RegUser()方法本身业务前后加上一些自己的功能,如:BeforeProceed和AfterProceed,即不修改UserProcessor类又能增加新功能 定义1个用户接口, ...

  2. swoole推送信息一对一,一对多

    服务端 $ws->on('message', function ($ws, $frame) { //echo "接收到的信息: {$frame->data}\n"; / ...

  3. 【Dubbo 源码解析】03_Dubbo Protocol&Filter

    Protocol & Filter Dubbo 服务暴露和服务引用都是通过的 com.alibaba.dubbo.rpc.Protocol 来实现的.它是一个 SPI 扩展. @SPI(&qu ...

  4. 【Python】博客信息爬取-微信消息自动发送

    1.环境安装 python -m pip install --upgrade pip pip install bs4 pip install wxpy pip install lxml 2.博客爬取及 ...

  5. Library弱依赖打包

    为减少强依赖,运行时动态监测依赖是否存在. 例如:内置的 HTTP client 可以是 OkHttpClient 或者是 HttpURLConnection.前者拥有更高的性能,但需要引入 OkHt ...

  6. windows上,任务管理器中,进程命令行太长怎么办

    一.前言 在windows上,有时候需要查看进程命令行,但是有的进程的命令行太长了,很难看全 此时,可以使用下面的方法解决(红框改为自己要查看的进程即可): C:\Users\Gaoyu>wmi ...

  7. 如何使用Vue-cli搭建和运行vue项目

    此文章  主要参考:https://jingyan.baidu.com/article/5225f26bbb430fe6fa0908ce.html 在vue init webpack my-proje ...

  8. Java8 新特性之流式数据处理

    一. 流式处理简介 在我接触到java8流式处理的时候,我的第一感觉是流式处理让集合操作变得简洁了许多,通常我们需要多行代码才能完成的操作,借助于流式处理可以在一行中实现.比如我们希望对一个包含整数的 ...

  9. 注意兼容浮点运算误差 0.7 + 0.1 ==0.8 为false

    所以比较 汇总或者计算的时候注意确定精度0.7 + 0.1 ==0.8 换成 Math.abs(0.7 + 0.1 ==0.8)<0.0001参考下

  10. HTML调用PC摄像头【申明:来源于网络】

    HTML调用PC摄像头[申明:来源于网络] ---- 地址:http://www.oschina.net/code/snippet_2440934_55195 <!DOCTYPE html> ...