数据类型:
整型:short,int,long,long long
long long这种类型是c+11新增的。
各个类型所占字节:2,4,4,8Byte
每个类型都有对应的无符号类型,所有整型的字面值书写如下:
short:8
unsigned short:8
int:8
unsigned int:8u
long:8L
unsigned long:8Lu/8uL
long long:8LL
unsigned long long:8uLL/8LLu
字符型:char,wcha_t,char16_t,char32_t
char16_t,char32_t,是c+11中新增的,是为了对应较大的编码表。
wcha_t在原文的解释中,说是为了对应扩展编码表,而且这种格式在输出输入的时候,采用的是wcout和wcin这两个对象
各个类型所占字节:1,~,2,4Byte,wcha_t的字节数和底层类型有关系的,暂时认为是2
各类型字面值书写:
char : 'A'
wcha_t :
char16_t : u'\u0000'
char32_t : U'\U00000000'
浮点型:float,double,long double
long double 是由C+11新增的
字节长度:4,8,16Byte
C++中粗略的解释了一下浮点类型是怎么存储在计算机中的
例如:3.14,计算机会把它分成两个部分,基数和缩放因子 => 0.314(基数), 10(缩放因子)
浮点类型的书写类型:3.14E16 ==> 3.14 * 10^16 -3.14e-10 === > -3.14 * 10 ^ -10
中间不可以有空格,回车,制表符。
由于这样的存储方式,所以即使float和int的字节大小一样,但是float存放的范围要比int来的广,这也是为什么浮点类型没有边界,只有精度,采用有效位的说法。
各类型字面值书写:
float:1.0f
double:1.0
long double:1.0L
浮点类型,还有一个有效数精度:6,15,18(这个值是估算的,差不多这么多位,具体还是要根据系统)
bool:
所有非零的数都是true,零是false
ture的值是1,false的值是0
const:限定值
const int num = 10;
num声明为一个常量,后续的程序不能去修改num,否则编译器会报错,程序试图对一个只读变量赋值。