全网最终极答案:数据类型出现的原因

数据类型存在的原因主要是两点:避免错误,优化内存

避免错误

在原来我写的博客中,我将所有数据类型简化为:字符,整数,浮点数,不管我们在学什么编程语言,除去要认识这个语言所存在的各种数据类型,也一定会学数据类型间的转换,我下面讲解我对此的理解:

虽然计算机中的数据都是以0,1存储;但不同类型的数据,存储的规则是不一样的,整数通常直接存储为固定长度的二进制数;浮点数使用IEEE 754标准来存储,分为符号位、指数位和尾数位。

因此,5和5.0在计算机看来是不一样的

这是计算机看到的5.0:

0 10000001 01000000000000000000000

这是计算机看到的5

00000000 00000101

可以看到,虽然我们知道5和5.0是完全一致的,但在计算机看来完全不是这样,如果没有数据类型的分类,我们去写5-5.0,结果就不知道会是什么了。

字符和浮点数的存储很类似,浮点数依靠IEEE 754标准,而字符主要靠ASCII,我们知道前面的00000101在整数中代表5,但它在字符中,却代表一个控制字符,称为ENQ(Enquiry),通常不表示一个可见的文本字符。

总结一下,对于整数,我们就以最直观的常规二进制来存储,但对于字符和浮点数,我们肯定也是用二进制来存储,但需要给它们特殊的标准,以和整数相分别,避免错误。

优化内存

int a = 5

同一类数据类型的字节是一样多的,而计算机存储数据,就像俄罗斯方块一样,并不是所有数据按照时间的堆叠,是按照俄罗斯方块这种寻找最优解的方式来的。这样,分出来数据类型,提前告诉计算机这个数据需要多少空间,能够帮助计算机更好的存放,这也就是为什么,像C语言这种偏底层的语言,在声明变量前要说数据类型,本质就是在告诉计算机我占多少地方,先把我的地方腾出来

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值