博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
为什么编程语言的都要定义数据类型
阅读量:5959 次
发布时间:2019-06-19

本文共 780 字,大约阅读时间需要 2 分钟。

对于一个程序员来讲,写代码的第一件是请,恐怕就是需要定义一些数据类型。而程序本身,就是对这些数据类型进行操作,有没有人思考过,为什么每种语言编写的程序,开始都需要定义数据类型呢?

以下面的C代码为例,我们来说明这个问题:

#include
int main(){ int a=100; int b=200; double a1=10.1; double b1=10.2; a=a+b; a1=a1+b1; getchar(); return 0;}

这段代码非常简单,定义了四个数据,两个类型。大家看,a=a+b;和a1=a1+b1;这两个语句,几乎一样,那么,我问你,这两个语句,在编译时,编译器会用同一段代码来替换这两个语句吗?

显然不可是同一段代码,因为浮点数和整数,在计算机里面,使用了不同的处理器,整数使用普通的CPU,而浮点数必须使用浮点运算器。所以,这两句话,产生的机器代码完全不同!

那么问题来了,编译器如何知道,在碰到两个数相加的时候,是使用浮点运算器的机器指令,还是使用普通CPU的机器指令?此时,编译器就会检查进行加法操作的两个加数的数据类型,根据他们的数据类型,来确定到底使用哪一个运算器的机器代码。此时,数据类型定义的意义就凸显出来了。

总结:

通过上述简单的描述,我们就能够清楚,任何编程语言(除了汇编,汇编只规定数据的字长),都会有自己的数据类型,数据类型背后,隐藏的是编译器或者解释器对数据处理方式的定义。知道了这个以后,我们在定义数据类型的时候,就应该知道,我们定义的这种数据类型,可以进行哪些操作,这些操作的规则是什么,这样我们才算真正掌握了这个数据类型。

更高级的语言,例如C++可以定义自己的数据类型和数据类型的算法,类的重载操作符就是一个例子。

转载地址:http://eguax.baihongyu.com/

你可能感兴趣的文章
iOS-性能优化深入探究
查看>>
阿里云Redis混合存储典型场景:如何轻松搭建视频直播间系统
查看>>
基于阿里云服务搭建的典型技术架构
查看>>
JavaEE PayPal 上线流程
查看>>
Android设备wifi开发
查看>>
xshell能ping通虚拟机,不能连接虚拟机
查看>>
任意层级树型数据的遍历和过滤
查看>>
iOS 防止反编译加密方法
查看>>
微信小程序开发的一点心得
查看>>
关于用nodejs编写管理系统
查看>>
深入理解node stream机制及其实现原理
查看>>
JavaScript 中错误正确处理方式,你用对了吗?
查看>>
分辨率,dpi,dp,与最终显示大小的四角关系
查看>>
JavaSE基础:抽象类
查看>>
Android实战 粗略实现一个简单的C S结构聊天室的功能
查看>>
购物车原理以及实现
查看>>
浅探webpack优化
查看>>
ReactNative与iOS的交互
查看>>
v-model 是怎么实现的?
查看>>
习惯不同语言以太坊开发者可选择客户端
查看>>