1. c++标准规定的算术类型的尺寸

类型名称 类型定义 类型长度
wchat_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位

我这里有一个疑问,等待去解决:. 书上说浮点数尽量用double而不用float?理由是float通常精度不够而且double和float的计算代价差不多。

2. 类型转换

Question1 : int 转为double 会四舍五入不?

Question2 : 假设char 占8位,
unsigned char c = -1; //c的值为多少?
signed char c = 256; //c的值未定义

Question3 :unsigned u1=42, u2 = 10;// u2 -u1 为多少?

代码解决:

void testVariable() {float f1 = 4.4f;float f2 = 4.5f;int n1 = int(f1);int n2 = int(f2);unsigned char c = -1; //c的值为255(该值对256取模后所得的余数)//signed char c = 256;  //c的值未定义)unsigned u1 = 42, u2 = 10;bool  b = (c != 255);std::cout << n1 << ";" << n2 << ";" << b << ";" << u2 - u1 << std::endl;
}

测试结果为:
4;4;0;4294967264

3. 转义字符

常用的几个:
\r
\n
\t
\"
\’
或者后面紧跟不超过3个8进制数字,字母x假设1个16进制数。
eg.

void testChar() {std::cout << "\tHi!\n";  // prints a tab followd by "Hi!" and a newlinestd::cout << "Hi \x4dO\115!\n"; // prints Hi MOM! followed by a newlinestd::cout << '\115' << '\n';    // prints M followed by a newline
}

大写字母M 的asii值如下:
2进制:0100 1101
8进制:0115
10进制:77
16进制:0x4D

输出结果为:

4. 指定字面值的类型

分为前缀和后缀
前缀:u U L u8
后缀:u U l L ll LL

eg.
L’a’ //宽字符型字面值,类型是wchar_t
u8"hi" //utf-8字符串字面值(utf-8用8位编码一个Unicode字符)
42ULL //无符号整型字面值,类型为unsigned long long
1E-3F //单精度浮点型字面值,类型为float
3.14159L //扩展精度浮点型字面值,类型为long double

参考

[1]: 代码 https://github.com/thefistlei/cplusprimer/tree/main/cprimer

C++ Primer 5th笔记(2)chapter 2变量和基本类型相关推荐

  1. C++ Primer 5th笔记(2)chapter 2变量和基本类型:constexpr 、auto、类型别名、decltype

    1.constexpr和常量表达式 1.1 常量表达式 定义:变量的值在编译器的时候就可以得到是一个常量 eg. const int i = 0; 1.2 constexpr变量 让编译器来验证变量的 ...

  2. C++ Primer 5th笔记(2)chapter 2变量和基本类型:变量声明、关键字

    0. 几个零星知识点 . 嵌套作用域:局部变量会覆盖全局变量 . char 在有些机器有符号,有的无符号. . 标识符大小写敏感. 1.变量声明和定义 c++ 将声明和定义分开来. 声明 extern ...

  3. c++ primer 5th 笔记:第二章

    第二章:变量和基本类型 笔记: 1. c++语言规定一个int至少和一个short一样大,一个long至少和一个int一样大,一个long long至少和一个long一样大.其中,数据类型long l ...

  4. C++ Primer 5th笔记(5)chapter5 语句

    1. for语句的多重定义 初始化那里的所有变量的基础类型必须相同 for(decltype(v.size())) i = 0, sz= v.size();

  5. C++ primer 5th笔记

    目录2022年11月25日 周五 阴 第一.二章:变量和基本类型 基本内置类型 unsigned float与double 'A'与"A" 布尔类型转换时 初始化与赋值 初始化 声 ...

  6. c++ primer 5th 笔记

    第1章 开始 本章以一个实际问题,书店问题,来简单的介绍C的基本特性.这个问题的代码将贯彻整本书,后面的章节会逐一讲解代码中涉及到的 C 语言特性. 这个问题具体,就是要保存书店的所有销售记录的档案, ...

  7. C++ Primer 5th笔记(2)chapter 2变量和基本类型:引用、const

    1.引用refrence 定义:给对象起另外一个名字. 1.1 是两个类型一样的对象之间的: eg. int &i = 10;//错误double &f = i;//错误 引申:上面的 ...

  8. C++ Primer 5th笔记(1)chapter 1

    1. 文件重定向 定义:指定std::cin 和std::out的输入文件和输出文件 用法: xx.exe < infileName >outfileName eg: #include & ...

  9. C++ Primer 5th笔记(chap 18 大型程序工具) 重载与命名空间

    1. using 声明或 using 指示能将某些函数添加到候选函数集 2. 对于接受类类型实参的函数来说, 其名字查找将在实参类所属的命名空间中进行.在这些命名空间中所有与被调用函数同名的函数都将被 ...

最新文章

  1. Gonet2 游戏server框架解析之gRPC提高(5)
  2. pycharm如何执行高级撤销操作回到历史
  3. 华为nova 2 Plus魔镜版818欢购热潮凶猛来袭
  4. stl的set,multiset, map, multimap, deque, list, stack, queue, priority_queue
  5. stm32之USART学习
  6. 计算机与数学文化论文参考文献,数学文化与人类文明论文.doc
  7. 洛谷p2704 炮兵阵地
  8. cpu使用率_线程CPU使用率到底该如何计算?
  9. 帮写python代码_10个工具,帮你写出更好的Python代码
  10. 移动API设计与安全存储
  11. Intel SGX论文调研
  12. 计算机的存储容量1kb表示什么,计算机的存储容量常用KB为单位,这里1KB表示什么?...
  13. 虚拟服务器实现方式,服务器实现虚拟主机的三种主要方式
  14. 武音硕士研究生《计算机音乐作曲》培训,武汉音乐学院2013年硕士研究生招生计算机音乐作曲科目考试大纲及参考书目...
  15. 什么是逻辑主键和业务主键
  16. 20/06/27 charles安装报【User installations are disabled via policy on the machine】解决方法
  17. Cerebral Cortex:初为人父者竟然出现纵向灰质皮层体积减少?两个国际样本提供了这样的证据...
  18. 通过双目深度相机获取三维坐标
  19. 【CodeForces - 1647D】Madoka and the Best School in Russia(分类讨论,因数分解)
  20. 云计算未来的发展前景和就业前景怎么样?

热门文章

  1. Java 洛谷 P1008 三连击
  2. 数据中心机房蓄电池培训
  3. 弱电工程光纤传输基础知识
  4. Google全球三大数据中心自然冷却方案剖析
  5. 数据中心管理中的人工智能:其对人员配置和流程意味着什么?
  6. 史上最全29个自我管理工具!
  7. DayDayUp之Job:牛客网—算法工程师—剑指offer之66道在线编程(解决思路及其代码)——1~20
  8. 成功解决⑧NVIDIA安装程序无法继续 此NVIDL驱动程序与此Windows版本不兼容。 此图形驱动程序无法找到兼吝的图形硬件。
  9. Docker Toolbox:Docker Toolbox的简介、安装、使用方法之详细攻略
  10. 成功解决bs4\__init__.py:181: UserWarning: No parser was explicitly specified, so I'm using the best avai