最小的单位是bit(简称b),是储存器的最小单位,表示一位二进制数
接下来是字节(Byte, 简称B),1Byte=8bit,是存储器的基本单位,通常被称为一个存储单元。
常规:
1bit
1B = 8b
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
1PB = 1024TB
1EB = 1024PB
1ZB = 1024EB
1YB = 1024ZB
平时会想过c语言中一个数组占内存的多少空间
我们可以使用sizeof运算符来计算
#include <stdio.h>
int main(){
int a[] = {1, 2, 3, 3};
long long b[] = {1, 2, 3, 3};
char c[] = {"hello, world!"};
float d = 5.0;
double e = 5.0;
printf ("int类型: %d\n", sizeof(a));
printf ("long long类型: %d\n", sizeof(b));
printf ("char类型: %d\n", sizeof(c));
printf ("float类型: %d\n", sizeof(d));
printf ("double类型: %d\n", sizeof(e));
return 0;
}
输出:
int类型: 16
long long类型: 32
char类型: 14
float类型: 4
double类型: 8
int是32位,long long是64位,char是8位,float是32位,double是64位
而sizeof输出的单位是B,也就是8bit(8位)
所以数组a[n]的占用空间是n * sizeof(类型)
近些年的算法题目中,基本可以开辟的数组空间是a[1000006]大小左右
也就是32B*1000006=4MB左右