为什么编程语言需要基础数据类型?

2019-11-08 18:40:58 +08:00
 godloveplay

怎么比较全面的回答这个问题?
能想到数值直接存在访问的地址中(因为数据类的大小固定,所以只要知道头地址就能访问吗?),比引用类型效率高。

1449 次点击
所在节点    程序员
13 条回复
ethego
2019-11-08 18:47:03 +08:00
地址中的只是一堆毫不重要的二进制,怎么在真实世界中解读和使用这堆二进制才是最重要的,后者依赖类型。
mxT52CRuqR6o5
2019-11-08 18:48:57 +08:00
那不就是汇编吗?抽象太低了
feiffy
2019-11-08 18:50:10 +08:00
基础类型长度是固定的,知道了地址可以直接取数据,引用类型还要再访问一次引用的地址
loading
2019-11-08 18:50:44 +08:00
建议去学一下汇编
misaka19000
2019-11-08 18:50:59 +08:00
为了方便程序员呗
hoyixi
2019-11-08 18:52:07 +08:00
存储都是二进制,看你把它当作什么, 比如 65 和字符 A,没有数据类型的话,拿到数据也不知道到底是什么意义

2 楼说的汇编也异曲同工,底层指令本质也是存的二进制,那一堆 01,你把它当指令就变成程序了,当数据,就变成某种数据了,到底哪种数据?看你怎么定义和解释,比如数据类型
taogen
2019-11-08 19:02:02 +08:00
常用的数据类型(数值型和字符型)和操作符(四则运算、逻辑运算等)的功能帮你写好了,你直接用就行了。难道要自己写解释器和编译器。
timoWong
2019-11-08 19:06:41 +08:00
操控数据类型的本质,就是对内存中的 0 和 1 在做逻辑运算,基本数据类型规定了运算的范围。如果没有基本数据类型,那么运算范围将无法确认。
taogen
2019-11-08 19:09:24 +08:00
高级语言最终要转换为汇编语言,看下汇编语言的有哪些操作和数据类型,看下 CPU 的算术逻辑单元 (ALU) 是怎么工作的
VDimos
2019-11-08 19:18:07 +08:00
基础类型就是标准而已
godloveplay
2019-11-08 19:26:59 +08:00
谢谢大家,我理解了。
frankyzf
2019-11-08 21:24:06 +08:00
性能?
SmiteChow
2019-11-09 08:54:06 +08:00
因为计算机能处理的只是数据,你的代码也只是一堆数据,基础数据类型就是语言的原子,有了它就可以组装出所有场景。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/617716

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX