1.数据类型整理
2 基本数据类型在内存中空间
Byte(字节)和bit(位)概念:
Byte——字节,是指一小组相邻的二进制数码。通常是8位作为一个字节;字节是处理数据的基本单位;
bit——位(比特)数据传输的单位,是计算机存储设备的最小单位,每一位的状态只能是0或者1;
换算:1个字节等于8个比特(1Byte=8bit)
疑问:为什么数据类型要分char int float?
个人分析:unsigned char 0-255
unsigned int 0-65535此处错误,修正为: 0~4294967295
float 数值范围为 -3.4E+38 和 3.4E+38 有效数字为6-7
随着社会的发现,简单的计算机从简单的计数 1-100,100-10000,产生的数据越来越大,要求数据存储按照一定的规律进行处理,不得不对数据进行整理,划分范围,方便CPU 加法计算,因此产生数据存储类型。
3 instance analysis(实例分析)
#include <stdio.h>
struct S_DATA
{
int age;
int id;
};
union U_DATA
{
char data[4];
float longitude;
float latitude;
};
enum E_DATA
{
MIN = 1,
MID = 2,
MAX = 3
};
int main()
{
printf("sizeof(void) :%d \n",sizeof(void));
printf("sizeof(char) :%d \n",sizeof(char));
printf("sizeof(short):%d \n",sizeof(short));
printf("sizeof(int) :%d \n",sizeof(int));
printf("sizeof(long) :%d \n",sizeof(long));
printf("sizeof(float) :%d \n",sizeof(float));
printf("sizeof(double):%d \n",sizeof(double));
printf("sizeof(struct S_DATA) :%d \n",sizeof(struct S_DATA));
printf("sizeof(union U_DATA) :%d \n",sizeof(union U_DATA));
printf("sizeof(enum E_DATA) :%d \n",sizeof(enum E_DATA));
return 0;
}
备注:
一、基本数据类型的特点,位数,最大值和最小值。
1、
基本类型:short 二进制位数:16 (2字节)
最小值:Short.MIN_VALUE=-32768 (-2的15此方)
最大值:Short.MAX_VALUE=32767 (2的15次方-1)
2、
基本类型:int 二进制位数:32(4字节)
最小值:Integer.MIN_VALUE= -2147483648 (-2的31次方)
最大值:Integer.MAX_VALUE= 2147483647 (2的31次方-1)
3、
基本类型:long 二进制位数:64(8字节)
最小值:Long.MIN_VALUE=-9223372036854775808 (-2的63次方)
最大值:Long.MAX_VALUE=9223372036854775807 (2的63次方-1)
4、
基本类型:float 二进制位数:32(4字节)
最小值:Float.MIN_VALUE=1.4E-45 (2的-149次方)
最大值:Float.MAX_VALUE=3.4028235E38 (2的128次方-1)
5、
基本类型:double 二进制位数:64(8字节)
最小值:Double.MIN_VALUE=4.9E-324 (2的-1074次方)
最大值:Double.MAX_VALUE=1.7976931348623157E308 (2的1024次方-1)
部分数据参考:https://blog.csdn.net/chenxaioxue/article/details/89969504