当前课程知识点:数据库技术与程序设计 > 第四章 常量、变量、表达式与函数 > 4.1 基本数据类型 > 【扩展阅读】为什么要有数据类型
一个程序员来讲,写代码的第一件是请,恐怕就是需要定义一些数据类型。而程序本身,就是对这些数据类型进行操作,为什么每种语言编写的程序,开始都需要定义数据类型呢?
1、 主要原因是效率。当数据库知道它所要处理的数据的类型之后,能够降低存储空间总量,并且能提高访问速度。例如:可以使用4个字节的计算机存储器量来存放数值243787452。如果将相同的数值存储为字符,则会占涌9个存储器量。
2、 另一个原因是数据类型决定机器指令
以下面的代码为例:
Public Sub main()
Dim a as integer
Dim b as integer
Dim a1 as double
Dim b1 as double
a=100
b=200
a1=10.1
b1=10.2
a=a+b
a1=a1+b1
End Sub
这段代码非常简单,定义了四个数据,两个类型。a=a+b;和a1=a1+b1;这两个语句,几乎一样,那么,这两个语句在编译时,编译器会用同一段二进制机器指令来编译这两个语句吗?
显然不可是同一段指令代码,因为浮点数和整数,计算机里使用了不同的处理器,整数使用普通的CPU累加器,而浮点数必须使用浮点运算器。所以,这两句话,产生的机器代码完全不同!
那么编译器如何知道,在碰到两个数相加的时候,是使用浮点运算器的机器指令,还是使用普通CPU的机器指令?此时,编译器就会检查进行加法操作的两个加数的数据类型,根据他们的数据类型,来确定到底使用哪一个运算器的机器代码。此时,数据类型定义的意义就凸显出来了。
任何编程语言(除了汇编,汇编只规定数据的字长)都会有自己的数据类型,数据类型背后,隐藏的是编译器或者解释器对数据处理方式的定义。
参考文献来源:百度百科,维基百科,ScienceDaily
https://blog.csdn.net/weixin_33755649/article/details/88602686?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase
-知识点拼图+问题求解流程+软件工程开发教学流程——写给翻转课堂开课教师
-技术分享贴续篇:怎样用窗体显示一条记录存储的多张OLE图像文件?
-技术分享贴:复杂的SQL自体连接和嵌套查询,涨粉最多的用户ID和涨粉数
-往届竞赛获奖作品展示
-1.1 数据与数据管理
--【拓展阅读】到底什么是IT(Information Technology)
-1.2 DBS=DB+DBMS
-1.3 不以六律不能正五音——数据模型
-- 课件1.3.1 数据模型
-1.4 数据库系统结构
-本章小结
--第一章小结
-第一章作业
-2.1 数据库设计流程
-2.2 概念结构设计
-2.3 逻辑结构设计
-本章小结
--第二章小结
-第二章作业
-3.1 数据库管理系统
-3.2 创建数据库
-3.3 创建数据表
-3.4 维护数据表
-本章小结
--第三章小结
-第三章作业
-4.1 基本数据类型
-4.2 常量
--4.2.1 常量
-4.3 变量和数组
--4.3.1 变量
-4.4 表达式和函数
-本章小结
--第四章小结
-第四章作业
-【讨论帖:悬赏!谁能解决Round()函数Banker’s rounding算法的bug?】
-5.1 数据检索方法
-5.2 数据库查询文件
-5.3 选择查询
-5.4 参数查询
-5.5 操作查询
-本章小结
--第五章小结
-第5章作业
-6.1 SQL概述
-6.2 SQL数据定义语言
-6.3 SQL数据查询语言
-6.4 SQL数据操作语言
-本章小结
--第六章小结
-第6章作业
-【讨论帖:你是否听说过“自然语言检索”,你在什么地方见到过,或者使用过“自然语言检索”吗?】
-7.1 窗体设计
-7.2 报表设计
-本章小结
--第七章小结
-第七章作业
-【讨论帖:你能总结一下窗体和报表的共性和区别吗?在你的工作、学习或生活中,你都见到过哪些窗体和报表的实际应用?】
-8.1 VBA编程基础
-8.2 顺序结构及常用命令
-8.3 分支结构
--8.3.2 多路分支选择语句Select Case 和分支嵌套
--课件8.3.2 多路分支选择语句Select Case 和分支嵌套
-8.4 循环结构
-8.5 函数与过程
-8.6 VBA程序调试
-8.7 数组
-本章小结
--第八章小结
-第八章作业
-【讨论帖:我们学习了VBA面向过程的程序设计,你能结合实践,谈谈自己对算法和程序的理解吗?】
-9.1 面向对象的基本概念
-9.2 控件对象的属性和方法
-9.3 控件对象的事件
-9.4 窗体的面向对象程序设计
-【拓展阅读】【综合案例】Word中的查找与替换是如何实现的?
-本章小结
--第九章小结
-第九章作业
-【讨论贴:本章用小黄鸭类比了面向对象的各种概念,你能也用类比的方式谈谈你对面向对象的理解吗?】
-10.1 宏的基本概念
-10.2 宏的创建与调用
-10.3 数据宏
-10.4 宏的调试和转换
-【拓展阅读】【综合案例】一句代码不敲,就开发了一个航班查询系统?
-本章小结
--第十章小结
-第十章作业
-【讨论帖:王者、LOL、魔兽、DOTA……,说说你在虚拟世界里用宏(超级宏)所向披靡的故事吧!】
-11.1 数据库应用系统结构
-11.2 教学教务管理系统功能需求
-11.3 教学教务管理系统底层数据结构
-11.4 登录模块实现
-11.5 学生管理模块实现
-11.6 教学管理模块实现
-11.7 系统测试与发布
-本章小结
--第十一章小结
-课程综合设计
-综合练习题库