c++中,创建变量或者常量的时候,必须要给出数据类型,这样系统才会正确的分配内存
创建的语法:数据类型 变量名称 = 初始值
或者 const 数据类型 变量名称 = 初始值
,前者是变量的创建,后者是常量的创建。
c++中,关于整型共有 4 个关键字。
short(短整型),占用 2 字节,取值范围是(-2^15
,2^15-1
)-32768,32767(32k,确信)
int(整型),占用 4 字节,取值范围是(-2^31
,2^31-1
)
long(长整型),windows占用 4 字节,32 位 linux 也是 4 字节,64 位linux 是 8 字节,win 下取值范围是(-2^31
,2^31-1
)
long long(长长整型),占用 8 字节,取值范围是(-2^63
,2^63-1
)(注意之间有空格)
但是我们如果需要存放例如人口的数据(人口总不能为负数吧......),我们就可以采用无符号类型。
无符号类型指的是不能存储负数的数据类型。它的优点是能够存储更多上限。比如说short
,原来可以存储数据范围是[-32768,32767]
,如果变成了无符号类型,那么存储范围就变成了[0,65535]
。
使用无符号类型,只需要在整型的关键字前添加上unsigned
即可。我们举个例子
#include <iostream>
using namespace std;
int main()
{
unsigned short a = 65535;
short b = 65535;
cout << a << endl;
cout << b << endl;
return 0;
}
运行结果:(环境:Windows11(arm/Apple M VM)/Visual Studio 2022/Debug/arm64)
65535
-1
这样我们就能够清楚的发现。使用unsigned
修饰之后,就可以显示原来不可以表示的数据。而不修饰,则会数据溢出。
2023-11-04
注意:在笔记中,有些是字节bite
有些是位bit
。1 字节是 8 位。
如下的一段代码表示了每种数据类型存放的最大值。这里用到了一个#include <climits>
头文件。
#include <iostream>
#include <climits>
using namespace std;
int main()
{
int n_int = INT_MAX;
short n_short = SHRT_MAX;
long n_long = LONG_MAX;
long long n_longlong = LLONG_MAX;
cout << n_int << endl;
cout << n_short << endl;
cout << n_long << endl;
cout << n_longlong << endl;
return 0;
}
关于#include <climits>
头文件,它定义了符号常量。如上面所示,INT_MAX
表示了int
能够存放的最大值。
2023-11-03
小知识:cout
也有一点小花样。
比如这样的一段代码:
#include <iostream>
using namespace std;
int main()
{
int qwq = 100;
cout << qwq;
return 0;
}
那么它就会直接输出 100。
No matter how much time passes, I will live on forever in your memory.