第二章   变量和变量类型

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. 接口和多态都为JAVA技术的核心。

    类必须实现接口中的方法,否则其为一抽象类. 实现中接口和类相同.   接口中可不写public,但在子类中实现接口的过程中public不可省. (如果剩去public则在编译的时候提示出错:对象无法从 ...

  2. 目前我对ReactNative的了解

    1.什么是React? 一个js组件库,不同于angular的是一个完整的framework,React需要像jQuery一样写事件监听逻辑,最大特点是Virtual DOM. 官网:https:// ...

  3. TensorFlow 1.4利用Keras+Estimator API进行训练和预测

    Tensorflow 1.4中,Keras作为作为核心模块可以直接通过tf.keas进行调用,但是考虑到keras对tfrecords文件进行操作比较麻烦,而将keras模型转成tensorflow中 ...

  4. 基于FeignClient提供简单的用户查询服务

    前言: 由于系统升级,之前的员工数据库(mongo库)被弃用,改为用python维护的mysql库,其他系统访问通过http请求,表结构对外不可见,其他系统之前对员工mongo库的依赖要解除.每套系统 ...

  5. [原][openstack-pike][controller node][issue-4][horizon] dashboard access too low reasons[dashboard 访问太慢]

    本文持续更新... 原因一:  访问dashboard 很慢. 输入了用户名和密码还有project后,一直处于首页状态,等很久才进入(暂且不考虑硬件.硬件暂时假设都满足条件) 首先想到的是memca ...

  6. 使用AS-REP Roasting和kerberoasting攻击kerberos

    准备工作 ''' PowerView是PowerSploit框架的一个子集,里面继承了很多和渗透相关的powershell脚本下载地址:https://github.com/PowerShellMaf ...

  7. PentestBox在win10里打不开工具

    PentestBox详细安装过程:http://www.cnblogs.com/ESHLkangi/p/8336398.html 在使用PentestBox的时候出现了打不开工具的问题,最后看到一个老 ...

  8. react-create-app

    github地址 配置文档 环境变量 λ yarn add classnames lodash @material-ui/core react-router-dom mobx mobx-react r ...

  9. windows服务安装 System.IO.FileLoadException

    报错如下: System.IO.FileLoadException: 未能加载文件或程序集“file:///D:\WindowsService\bin\Debug\WindowsService.exe ...

  10. hash 位运算 练习

    hash  位运算 [以下代码仅做位运算的练习,算法本身不合理  php转译python] 从头到尾彻底解析Hash表算法_知识库_博客园 https://kb.cnblogs.com/page/18 ...