一个字母、数字、汉字所占用的内存空间

最佳答案
字节(Byte):通常将可表示常用英文字符8位二进制称为一字节.
一个英文字母(不分大小写)占一个字节的空间.一个中文汉字占两个字节的空间.
符号:英文标点2占一个字节.中文标点占两个字节.
一个二进制数字序列.在计算机中作为一个数字单元.一般为8位二进制数.如一个ASCII码就是一个字节.此类单位的
换算为:
1千吉字节(KGB.KiloGigaByte)=1024吉字节
1吉字节(GB.GigaByte) =1024兆字节
1兆字节(MB.MegaByte) =1024千字节
1千字节(KB.KiloByte) =1024字节
1字节(Byte) = 8位(bit) 
比特(bit)即一个二进制位  例如100011就是6比特
字节(byte)这是计算机中数据类型最基本的单位了,8bit 组成1byte
字(word)两个byte称为一个word,所以字大小应该是16位bit,共两字节

双字(double word 简写为DWORD)见名知意,两个字,四个字节,32bit

在C语言中,每种数据类型都有其存储长度。而且在特定的平台和特定的编译器下是不一样的。
由于WIN32平台用的很多,使用visual studio来做C程序的也有很多(我就是使用visual studio 6.0来学习C语言的),所以我说下这种情况(在Visual C++ 2005 中的)。

char 字符型  占1byte 即8位,一个char型数据(例如:a、#、!之类的)用了1个字节来存储

unsigned char 无符号的字符型 占1byte 即8位 它主要是为了能够兼容扩展ASCII码,由于 char 由8位表示表示范围为 -128 - +127,无法表示带上扩展ASCII码总共256个字符所以如果把 8位中的最高位符号位也用来计数,就可以正好表示256个字符,unsigned char 表示范围为 0 - 255 正好256个数可以对应包含扩展ASCII码在内的共计256个ASCII字符

汉字在计算机中存储是使用机内码(一种数字编号)来存储的,而常用汉字不过是几万个,如果用16位比特(即2的16此方等于65536)就可以表示了,所以汉字字符存储使用了两个字节。每两个字节即16bit对应一个汉字。

int  整型数据   占4byte 即32位,一个int型数据的长度用了4个字节来存储
short 短整型    占2byte 即16位,两个字节。
long 长整型     占4byte 即32为,四个字节
float 单精度浮点型    占4byte 即32位,四个字节
double 双精度浮点型   占8byte 即64位,八个字节

假如你使用的不是 visual studio 编译器 或者不是在win32环境下编程,以上的陈述可能就不对,我建议你查看一下 可以使用int i = sizeof(char)或者
sizeof(int)来看看i的值,如果i == 4,表示一个当前的数据类型占四个字节

posted on 2022-10-04 01:31  bdy  阅读(1139)  评论(0编辑  收藏  举报

导航