什么是C51中的基本数据类型
扫描二维码
随时随地手机看文章
数据元(Data Element),也称为数据元素,是用一组属性描述其定义、标识、表示和允许值的数据单元,在一定语境下,通常用于构建一个语义正确、独立且无歧义的特定概念语义的信息单元。数据元可以理解为数据的基本单元,将若干具有相关性的数据元按一定的次序组成一个整体结构即为数据模型。
基本属性
(1)标识类属性:适用于数据元标识的属性。包括中文名称、英文名称、中文全拼、内部标识符、版本、注册机构、同义名称、语境。
(2)定义类属性:描述数据元语义方面的属性。包括定义、对象类词、特性词、应用约束。
(3)关系类属性:描述各数据元之间相互关联和(或)数据元与模式、数据元概念、对象、实体之间关联的属性。包括分类方案、分类方案值、关系。
(4)表示类属性:描述数据元表示方面的属性。包括表示词、数据类型、数据格式、值域、计量单位。
(5)管理类属性:描述数据元管理与控制方面的属性。包括状态、提交机构、批准日期、备注。
很多初学者对数据类型是什么东西搞不明白,我们举个简单例子。
设X=10,Y=L Z=X+Y,求Z=?在这个例子当中,我们将10和I分别赋给X和Y,再将X+Y赋给乙由于10已经固定,我们称X为“常量”;由于Y的值随I值的变化而变化,Z的值随X+Y值的变化而变化,我们称Y和Z为“变量”,本题中X的值为10,而Y的值为L但其他题中X的值有可能就是10000,Y的值有可能就是别的什么数了。在我们日常计算时,X和Y的值我们可以赋给它任意大小的数,当我们给单片机编程时,单片机也要运算,而在单片机的运算中,这个“变量”数据的大小是有限制的,我们不能随意给一个变量赋任意的值,因为变量在单片机的内存中是要占据空间的,变量大小不同,所占据的空间就不同,为了合理利用单片机内存空间,我们在编程时就要设定合适的数据类型,不同的数据类型也就代表了十进制中不同的数据大小,所以我们在设定一个变量之前,必须要给编译器声明这个变量的类型,以便让编译器提前从单片机内存中分配给这个变量合适的空间。单片机的C语言中常用的数据类型如表1.6.1所示。
大家在C语言的书籍上还能看到有short int,long int,signed short int等数据类型,在单片机的C语言中我们默认的规则如下:short int即为int,long int即为long,前面若无unsigned符号则一律认为是signed型。
关于所占位数的解释:在编写程序时,无论是以十进制、十六进制还是二进制表示的数,在单片机中,所有的数据都是以二进制形式存储在存储器中的,既然是二进制,那么就只有两个数,0和1,这两个数每一个所占的空间就是一位(b),位也是单片机存储器中最小的单位。
比位大的单位是字节(B),一个字节等于8位(即lB=8b)o我们从表1.6.1可以看出,除了位,字符型占存储器空间最小,为8位,双精度实型最大,为64位。其中float型和double型是用来表示浮点数的,也就是我们所讲的带有小数点的数,如12.234,0.213等。在这里需要说明的是,在一般的系统中,float型数据只能提供7位有效数字,double型数据能够提供15〜16位有效数字,但是这个精度还和编译器有关系,并不是所有的编译器都遵守这条原则。当把一个double型变'量赋给float型变量时,系统会截取相应的有效位数。例如:
由于float型变量只能接收7位有效数字,因此最后的3位小数将会被四舍五入截掉,即实际a的值将是123.1235。若将a改成double型变量,则能全部接收上述10位数字并存储在变量a中。