V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
godloveplay
V2EX  ›  程序员

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

  •  
  •   godloveplay · 2019-11-08 18:40:58 +08:00 · 1537 次点击
    这是一个创建于 1848 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    2 楼说的汇编也异曲同工,底层指令本质也是存的二进制,那一堆 01,你把它当指令就变成程序了,当数据,就变成某种数据了,到底哪种数据?看你怎么定义和解释,比如数据类型
    taogen
        7
    taogen  
       2019-11-08 19:02:02 +08:00 via Android
    常用的数据类型(数值型和字符型)和操作符(四则运算、逻辑运算等)的功能帮你写好了,你直接用就行了。难道要自己写解释器和编译器。
    timoWong
        8
    timoWong  
       2019-11-08 19:06:41 +08:00
    操控数据类型的本质,就是对内存中的 0 和 1 在做逻辑运算,基本数据类型规定了运算的范围。如果没有基本数据类型,那么运算范围将无法确认。
    taogen
        9
    taogen  
       2019-11-08 19:09:24 +08:00 via Android
    高级语言最终要转换为汇编语言,看下汇编语言的有哪些操作和数据类型,看下 CPU 的算术逻辑单元 (ALU) 是怎么工作的
    VDimos
        10
    VDimos  
       2019-11-08 19:18:07 +08:00 via Android
    基础类型就是标准而已
    godloveplay
        11
    godloveplay  
    OP
       2019-11-08 19:26:59 +08:00
    谢谢大家,我理解了。
    frankyzf
        12
    frankyzf  
       2019-11-08 21:24:06 +08:00 via Android
    性能?
    SmiteChow
        13
    SmiteChow  
       2019-11-09 08:54:06 +08:00
    因为计算机能处理的只是数据,你的代码也只是一堆数据,基础数据类型就是语言的原子,有了它就可以组装出所有场景。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1236 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 23:55 · PVG 07:55 · LAX 15:55 · JFK 18:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.