C++ 基本类型学习笔记

作者:袖梨 2022-06-25


C++的基本类型分为两种:一组由存储为整数的值组成,另一组由存储为浮点格式的值组成。

C++算术类型的最小存储空间
类型+含义+最小存储空间如下:

bool 布尔型

char 字符型 8位

wchar_t 宽字符型 16位

short 短整型 16位

int 整形 16位

long 长整形 32位

float 单精度浮点型 6为有效数字

double 双精度浮点型 10位有效数字

long double 扩展精度浮点型 10位有效数字

整型

整形可分为:char、short、int、long、long long ,每一种都有有符号和无符号两种。
char是一种整形,可以表示计算机中的所有的基本符号,用一个字节表示。需注意越界
其中short为short int的简称,long为long int的简称。

C++的整形标准

short至少16位;
int至少和short一样长;
long至少32位,且至少和int一样长;
long long至少64位,且至少与long一样长。

8位的char取值范围为 -128 ~ 127,无符号为 0 ~ 255
16位的int取值范围为 -32768 ~ +32767,无符号为 0 ~ 65535
32位的int取值范围为 -2147483648 ~ +2147483647,无符号为 0~4294967295
64位的int取值范围为 -9223372036854775808 ~ +9223372036854775807,无符号为 0 ~ 18446744073709551615

bool类型:字面值true和false都可以通过提升类型转换为int类型,true被转换为1,false被转换为0。

char类型是专为存储字符(如字母和数字)而设计的。C++对字符用单引号,对字符串使用双引号。

八进制 042 相当于十进制34 cout << dec;
十进制 42 cout << oct;
十六进制 0x42 相当于十进制66,输出为16进制。
cout << hex;
cout << 123456 << endl;//1e240

cout << 1492 << endl;
除非有理由存储为其他类型(如使用特殊的后缀来表示特定的类型,或者值太大,不能存储为int),否则c++将整形常量存储为int类型。

后缀

l或L表示该整数为long常量,u或U表示unsigned int常量,ul(可采用任何一种顺序,大小写均可)表示unsigned long
C++11提供了表示long long的后缀ll或LL,还提供了unsigned long long的后缀ull、Ull、uLL、ULL

const限定符

常量被初始化之后,其值就被固定了,编译器不允许修改常量的值。

浮点数

能够表示带小数部分的数字。浮点数分两部分存储:一部分表示值,另一部分用于对值进行放大或缩小。

3.45E6指3.45与1000000相乘的结果,E6表示10的6次方。因此3.45E6表示34560000,6称为指数,3.45成为尾数。
指数为负数表示除以10的城防,如8.55E-4表示0.000855
-8.55E4表示-85500,前面的符号用于数值,指数的符号用户缩放。

float 、double 、long double是按照他们可以表示的有效数位和允许的指数最小范围来描述的。有效位是数字中有意义的位。
C和C++对有效位的要求是float至少32位
double至少48位,且不少于float
long double至少和double
通常float为32位,double为64位,long double为80 96或128位,另外这三种类型的指数范围为-37 ~ 37

后缀默认情况为都属于double类型,如果希望为float可使用f或F后缀。对于long double类型,可使用l或L后缀。

相关文章

精彩推荐