第四节 存储单位
基础知识
存储单位是一种计量单位,指在某一领域以一个特定量或标准作为一个计数点,再以此点的某个倍数去定义另一个点,而这个点的代名词就是计数单位或存储单位。如货车的载重量是吨,也就是说这辆货车能存储货物的单位量词是吨。
二进制序列用以表示计算机、电子信息数据容量的量纲,基本单位为字节(B),字节单位的量级为1024,比如1KB=1024B、1MB=1024KB。
计算机存储单位一般用bit、B、KB、MB、GB、TB、PB等来表示,之间的关系如下:
- bit(b,位):读作比特,存放一个二进制数,即0和1,是最小的存储单位。
- Byte(B,字节):8个二进制位为一字节,即1B=8bit,是最常用的单位。
- Kilo Byte(KB):1KB=1024B。
- Mega Byte(MB):1MB=1024KB。
- Giga Byte(GB):1GB=1024MB。
- Tera Byte(TB):1TB=1024GB。
在C++中,基本变量类型所占的内存空间大小由计算机操作系统(32位和64位)和编译器决定。一般情况,各类型所占的存储空间和能表示的范围如下表所示。
数据类型 | 字节 | 取值范围 |
---|---|---|
char | 1 | -128~127 |
unsigned char | 1 | 0~255 |
int | 4 | -2147483648~2147483647 |
unsigned int | 4 | 0~4294967295 |
long long | 8 | -9,223,372,036,854,775,808 ~9,223,372,036,854,775,807 |
float | 4 | +/- 3.4e +/- 38 (7 位有效数字) |
double | 8 | +/- 1.7e +/- 308 (15 位有效数字) |
在实际问题中,若long long都不足以满足需求,则要考虑使用数组来存放高精度数据,再重新定义高精度数据的四则运算。在信奥赛中,对高精度数据的处理也是常考项。
赛题训练
- 一个32位整型变量占用( )字节。
A.32 B.128 C.4 D.8 - 1MB等于( )。
A.1000字节 B.1024字节 C.1000×1000字节 D.1024×1024字节 - 计算机存储数据的基本单位是( )。
A.bit B.Byte C.GB D.KB