用C语言测试自己编译器所占字节的大小,代码实现如下:
int main()
{
int* p;
printf("char = %d\n",sizeof(char));
printf("signed char = %d\n",sizeof(signed char));
printf("unsigned char = %d\n",sizeof(unsigned char));
printf("short = %d\n",sizeof(short));
printf("signed short = %d\n",sizeof(signed short));
printf("unsigned short = %d\n",sizeof(unsigned short));
printf("int = %d\n",sizeof(int));
printf("signed int = %d\n",sizeof(signed int));
printf("unsinged int = %d\n",sizeof(unsigned int));
printf("float = %d\n",sizeof(float));
printf("double = %d\n",sizeof(double));
printf("long = %d\n",sizeof(long));
printf("signed long = %d\n",sizeof(signed long));
printf("unsigned long = %d\n",一个字等于多少个字节,sizeof(unsigned long));,
printf("longlong = %d\n",sizeof(LONGLONG));
printf("p = %d\n",sizeof(p));
return 0;
}
运行结果如下:
再来看一下每个关键字的最大值
using namespace std;
int main()
{
char n_char = CHAR_MAX;
char n_schar = SCHAR_MAX;
char n_uchar = UCHAR_MAX;
short n_short = SHRT_MAX;
short n_ushort = USHRT_MAX;
int n_int = INT_MAX;
unsigned int n_uint = UINT_MAX;
float n_float = FLT_MAX;
float n_maxfloat = FLT_MANT_DIG;
float n_10float = FLT_MAX_10_EXP;
long n_long = LONG_MAX;
long n_Ulong = ULONG_MAX;
long long n_llong = LLONG_MAX;
无法确定,因为字的大小取决去具体系统的总线宽度,如果是32位的系统,则一个字是4个字节,如果是64位,则是8个字节。字节(Byte)是计算机信息技术用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和。
long long n_ullong = ULLONG_MAX;
cout << "max value is :" << endl;
cout << "char is:" << n_char << endl;
cout << "usigned char is:" << n_schar << endl;
cout << "unsigned char is:" << n_uchar << endl;
cout << "int is:" << n_int << endl;
cout << "unsigned int is:" << n_uint << endl;
cout << "short is:" << n_short << endl;
cout << "unsigned short is:" << n_ushort << endl;
cout << "folat is :" << n_float << endl;
cout << "numbers of float is:" << n_maxfloat << endl;
cout << "float 10_exp is:" << n_10float << endl;
cout << "long is:" << n_long << endl;
cout << "unsigned long is:" << n_Ulong << endl;
cout << "long long is:" << n_llong << endl;
cout << "unsigned long long is:" << n_ullong << endl;
return 0;
}
运行结果:
因为char没有最大值,所以这里没有输出结果!
每个关键字的最小值
using namespace std;
int main()
字节也叫Byte,是计算机数据的基本存储单位,在电脑里一个中文字占两个字节。8bit(位)=1Byte(字节)1024Byte(字节)=1KB 1024KB=1MB 1024MB=1GB 1024GB=1TB 其中:K是千,M是兆,G是吉咖,T是太拉。
{
short n_short = SHRT_MIN;
int n_int = INT_MIN;
一个汉字多少字节?一个汉字=2个英文字母=2字节 官方标准:1汉字=2字节 1字节(Byte)=8字位=8个二进制数 1字位(bit)=1个二进制数 1B=8b 1KB=1024B 1MB=1024KB 1GB=1024MB 硬件商标准:1GB=1000MB 1MB=
float n_float = FLT_MIN;
float n_10float = FLT_MIN_10_EXP;
long n_long = LONG_MIN;
long long n_llong = LLONG_MIN;
cout << "min value is :" << endl;
cout << "int is:" << n_int << endl;
cout << "float 10_exp is:" << n_10float << endl;
cout << "long is:" << n_long << endl;
cout << "long long is:" << n_llong << endl;
return 0;
}
运行结果:
有关每一个字节的取值范围如下:
2、short:表示短整型数据,一般占2个字节(16个二进制位)。
有符号的范围:-32768 ~ 32767。
无符号的范围0到65535。
3、int:表示基本整型数据,一般占4个字节(32个二进制位)。
有符号的范围:-2147483648 ~ 2147483647。
无符号的范围:0 ~ 4294967295。
4、long:表示长整型数据,一般占4个字节(32个二进制位)。
有符号的范围:-2147483648 ~ 2147483647。
无符号的范围:0 ~ 4294967295。
3、双字,dword,32bit 3、四个连续的字节。这个是考虑到32位处理器的对齐问题,对齐是因为效率问题,如果你不明白,忽略它吧 4、将来可能盛行的64bit,尚未起名,不过,本人预测一下,是否可以叫qword?问题二:一个字占。
5、float:表示单精度浮点型数据,一般占4个字节(32个二进制位,1bit(符号位) 8bits(指数位) 23bits(尾数位))。
论坛标题一个汉字是多少字节 一个字占得字节数和机器有关,一般而言说的都是两字节;一字节就是8位,目前在通用计算机里是就是一个基本的内存单元. 以上,估计一个汉字应该是4字节 请问一个汉字是多少字节,1mb的容量。
范围:-3.40E+38 ~ +3.40E+38
精度:6 ~ 7位有效数字
6、double:表示双精度浮点型数据,一般占8个字节(64个二进制位,1bit(符号位) 11bits(指数位) 52bits(尾数位))。
一个汉字=2个英文字母=2字节 官方标准: 1汉字=2字节 1字节(Byte)=8字位=8个二进制数 1字位(bit)=1个二进制数 1B=8b 1KB=1024B 1MB=1024KB 1GB=1024MB 硬件商标准: 1GB=1000MB 1MB=
范围:-1.79E+308 ~ +1.79E+308
精度:15 ~ 16位有效数字
7、unsigned:表示无符号数据。
8、signed:表示有符号数据,默认不用写。
另外,我将不同位平台下关键字所占的字节的链接贴在下面: