逆向基础 C++ Primer Plus 第三章 处理数据
Posted 安全fun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了逆向基础 C++ Primer Plus 第三章 处理数据相关的知识,希望对你有一定的参考价值。
逆向基础 C++ Primer Plus 第三章 处理数据
知识点梳理
本章主要讲了C++的整型和浮点型两种基本数据类型,其可以通过提供各种长度不同、有正有负的数据类型,使人们可以根据特定背景下的数据要求选择合适的数据类型,掌握基本数据类型之后,再针对各种类型展开加、减、乘、除和求模五种基本运算,同时支持根据具体需求进行相应类型转换。
重点知识回顾
1、基本数据类型
C++的基本数据类型可以分为整型和浮点型两种,如下图整型按照存储数据的大小从小到大依次为:bool、char、signed char、unsigned char、shot、unsigned short、int、unsigned int、long、unsigned long以及C++11新增的long long和unsigned long long,浮点型数据按有效位从小到大依次为:float、double和long double。
计算机内存由一些叫做位(bit)的单元组成,8位的内存单元对应1个字节,由于不同计算机系统中数据类型的宽度设定都不完全相同,C++提供了一种灵活的标准,常见整型数据的最小长度为:
*short至少16位;
*int至少与short一样长;
*long至少32位,且至少与int一样长;
*long long至少64位,且至少与long一样长。
当程序需要处理的字符集可能无法用一个8位的字节表示时,通常采用一个小型基本字符集和一个较大的扩展字符集,wchar_t就是这样的扩展字符集,C++11新增了类型char16_t和char32_t,其中两者是无符号的,前者长16位,后者长32位。
计算机在存储浮点型数据时将其分为两部分,一部分表示值,另一部分表示对值进行放大或缩小,C++中三种类型的指数范围至少是-37到37,而对有效位数的要求是:
*float类型至少32位;
*double类型至少48位,且不少于float类型;
*long double类型至少和double类型一样多。
2、算数运算符和类型转换
C++的算数运算符包括加、减、乘、除和求模五种基本运算,运算符优先级按照代数运算优先级,先乘除后加减,取模运算的优先级与乘除相同,结合性为从左到右,当两个运算符对同一个操作数进行操作时,C++的优先级和结合性规则可以确定先执行哪种操作,C++中的类型转换一般在运算中涉及两种类型时,较小的类型将被转换为较大的类型,同时支持强制类型转换。
以上是关于逆向基础 C++ Primer Plus 第三章 处理数据的主要内容,如果未能解决你的问题,请参考以下文章