8位编译器(例如51单片机):
char 1个字节
char*(指针变量) 1个字节,指针类型所占字节和地址总线宽度有关系
int 2个字节
long 4个字节
float 4个字节
double 8个字节
16位编译器
char : 1个字节
char*(即指针变量) 2个字节
short int : 2个字节
int: 2个字节
unsigned int : 2个字节
float: 4个字节
double: 8个字节
long: 4个字节
long long: 8个字节
unsigned long: 4个字节
32位编译器(例如stm32单片机):
char 1个字节
char* (指针变量) 4个字节,32位的寻址空间是2^32, 即32个bit,所占字节和地址总线宽度有关系
short 2个字节
int 4个字节
long 4个字节
float 4个字节
double 8个字节
64位编译器
char : 1个字节
char*(指针变量): 8个字节,指针类型所占字节和地址总线宽度有关系
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
double: 8个字节
long: 8个字节
long long: 8个字节
unsigned long: 8个字节
可以用sizeof(int)来打印占多少个字节
数据存储是以10 进制表示,数据传输是以2进制表示的,所以1KB不等于1000B。
1B=8bit
1KB=1024B
1MB=1024KB
1GB=1024MB
1TB=1024GB
1 B (byte,字节)= 8 bit
1 KB(Kibibyte, 千字节)=1024B= 2^10 B;
1 MB(Mebibyte,兆字节,百万字节,简称“兆”) =1024KB = 2^20 B;
1 GB(Gigabyte,吉字节,十亿字节,又称“千兆”)=1024MB = 2^30 B;
1 TB(Terabyte,万亿字节, 太字节) =1024GB = 2^40 B;
1 PB(Petabyte,千万亿字节, 拍字节) =1024TB = 2^50 B;
1 EB(Exabyte,百亿亿字节, 艾字节) =1024PB = 2^60 B;
1 ZB(Zettabyte,十万亿亿字节, 泽字节) = 1024EB = 2^70 B;
1 YB(Yottabyte,一亿亿亿字节, 尧字节) = 1024ZB = 2^80 B;
1 BB(Brontobyte,一千亿亿亿字节) = 1024YB = 2^90 B;
1 NB(NonaByte,一百万亿亿亿字节) = 1024 BB = 2^100 B;
1 DB(DoggaByte,十亿亿亿亿字节) = 1024 NB = 2^110 B; [1]
C/C++在不同编译器上基本数据类型所占字节数
猜你喜欢
转载自blog.csdn.net/qq_35831134/article/details/93904638
今日推荐
周排行