C++ Primer 5th笔记(2)chapter 2变量和基本类型
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变量和基本类型相关推荐
- C++ Primer 5th笔记(2)chapter 2变量和基本类型:constexpr 、auto、类型别名、decltype
1.constexpr和常量表达式 1.1 常量表达式 定义:变量的值在编译器的时候就可以得到是一个常量 eg. const int i = 0; 1.2 constexpr变量 让编译器来验证变量的 ...
- C++ Primer 5th笔记(2)chapter 2变量和基本类型:变量声明、关键字
0. 几个零星知识点 . 嵌套作用域:局部变量会覆盖全局变量 . char 在有些机器有符号,有的无符号. . 标识符大小写敏感. 1.变量声明和定义 c++ 将声明和定义分开来. 声明 extern ...
- c++ primer 5th 笔记:第二章
第二章:变量和基本类型 笔记: 1. c++语言规定一个int至少和一个short一样大,一个long至少和一个int一样大,一个long long至少和一个long一样大.其中,数据类型long l ...
- C++ Primer 5th笔记(5)chapter5 语句
1. for语句的多重定义 初始化那里的所有变量的基础类型必须相同 for(decltype(v.size())) i = 0, sz= v.size();
- C++ primer 5th笔记
目录2022年11月25日 周五 阴 第一.二章:变量和基本类型 基本内置类型 unsigned float与double 'A'与"A" 布尔类型转换时 初始化与赋值 初始化 声 ...
- c++ primer 5th 笔记
第1章 开始 本章以一个实际问题,书店问题,来简单的介绍C的基本特性.这个问题的代码将贯彻整本书,后面的章节会逐一讲解代码中涉及到的 C 语言特性. 这个问题具体,就是要保存书店的所有销售记录的档案, ...
- C++ Primer 5th笔记(2)chapter 2变量和基本类型:引用、const
1.引用refrence 定义:给对象起另外一个名字. 1.1 是两个类型一样的对象之间的: eg. int &i = 10;//错误double &f = i;//错误 引申:上面的 ...
- C++ Primer 5th笔记(1)chapter 1
1. 文件重定向 定义:指定std::cin 和std::out的输入文件和输出文件 用法: xx.exe < infileName >outfileName eg: #include & ...
- C++ Primer 5th笔记(chap 18 大型程序工具) 重载与命名空间
1. using 声明或 using 指示能将某些函数添加到候选函数集 2. 对于接受类类型实参的函数来说, 其名字查找将在实参类所属的命名空间中进行.在这些命名空间中所有与被调用函数同名的函数都将被 ...
最新文章
- Gonet2 游戏server框架解析之gRPC提高(5)
- pycharm如何执行高级撤销操作回到历史
- 华为nova 2 Plus魔镜版818欢购热潮凶猛来袭
- stl的set,multiset, map, multimap, deque, list, stack, queue, priority_queue
- stm32之USART学习
- 计算机与数学文化论文参考文献,数学文化与人类文明论文.doc
- 洛谷p2704 炮兵阵地
- cpu使用率_线程CPU使用率到底该如何计算?
- 帮写python代码_10个工具,帮你写出更好的Python代码
- 移动API设计与安全存储
- Intel SGX论文调研
- 计算机的存储容量1kb表示什么,计算机的存储容量常用KB为单位,这里1KB表示什么?...
- 虚拟服务器实现方式,服务器实现虚拟主机的三种主要方式
- 武音硕士研究生《计算机音乐作曲》培训,武汉音乐学院2013年硕士研究生招生计算机音乐作曲科目考试大纲及参考书目...
- 什么是逻辑主键和业务主键
- 20/06/27 charles安装报【User installations are disabled via policy on the machine】解决方法
- Cerebral Cortex:初为人父者竟然出现纵向灰质皮层体积减少?两个国际样本提供了这样的证据...
- 通过双目深度相机获取三维坐标
- 【CodeForces - 1647D】Madoka and the Best School in Russia(分类讨论,因数分解)
- 云计算未来的发展前景和就业前景怎么样?
热门文章
- Java 洛谷 P1008 三连击
- 数据中心机房蓄电池培训
- 弱电工程光纤传输基础知识
- Google全球三大数据中心自然冷却方案剖析
- 数据中心管理中的人工智能:其对人员配置和流程意味着什么?
- 史上最全29个自我管理工具!
- DayDayUp之Job:牛客网—算法工程师—剑指offer之66道在线编程(解决思路及其代码)——1~20
- 成功解决⑧NVIDIA安装程序无法继续 此NVIDL驱动程序与此Windows版本不兼容。 此图形驱动程序无法找到兼吝的图形硬件。
- Docker Toolbox:Docker Toolbox的简介、安装、使用方法之详细攻略
- 成功解决bs4\__init__.py:181: UserWarning: No parser was explicitly specified, so I'm using the best avai