计算机编程/类型
外观
< 计算机编程
计算机编程类型 确定了给定编程环境中值类型以及使用方式。在大多数情况下,编程语言定义了一组基本数据类型,例如用于数字、字符或字符串。在高级语言中,通常可以从现有数据类型定义新的数据类型,例如表示邮政地址(由街道和城市字符串以及邮政编码整数组成)。当在不同的程序和计算机系统之间通信数据时,重要的是使用双方都能识别的类型,或者有在它们之间转换的方法。
数据类型的完整定义包括最多三件事
- 物理表示
- 数据是如何存储的
- 操作
- 你可以用数据类型做什么(含义);你不能做什么,例如除以零或字符串操作;以及如果你“溢出”缓冲区执行操作,导致结果“超出”分配的空间时会发生什么
- 自动函数
- 哪些活动,在程序控制之外,可以改变数据(硬件、用户、系统时钟)
在一些编程语言中可以看到一些基本数据类型
- 整数
- 在某些语言中是无限的,在大多数语言中限制为 8 位、16 位、32 位、48 位、64 位大小 (C、C++、C#、w:DDS、Java、w:RPG)。在某些语言中 (Ada、w:FORTH、PL/I),大小可以自由定义。
- 比率
- 例如 2/3,只有少数语言有这些。
- 浮点数
- 浮点数,大多数语言提供单精度和双精度 (C、C++、C#、DDS、Java、w:RPG)。在某些语言中 (Ada、PL/I),精度可以自由定义。
- 十进制
- 十进制(人类)定点数,通常用于货币值。只有少数语言 (Ada、PL/I、w:SQL、COBOL、w:RPG、DDS) 提供定点数。精度通常可以自由定义。
- 十六进制
- 十六进制,在 IBM 系统上可用。数字为零到 F。大多数现代语言不需要单独的十六进制类型,它们使用整数和专门的 I/O 例程。
- 压缩十进制
- 两个数字可以容纳在一个字符相同的空间内。查看 w:ASCII、w:EBCDIC 或类似概念系统的字符集定义。请注意,字母和特殊字符由两个十六进制半字节表示,因此使用压缩数据,两个数字可以容纳在一个字母相同的空间内。通常,一个半字节保留用于数字符号(加号或减号)。
- 复数
- 复数值通常由两个浮点数组成。只有少数语言 (C99、Fortran) 有这些。在面向对象的语言中,通常由库实现 (C++、Ada)。
- 字符
- 一个字符,通常为 8、16 或 32 位大小。一些字符集,如 UTF-8,是用于可变长度。
- 记录
- 各种基本类型的组合。
- 变体
- 类型在运行时确定。
- 对象
- 在面向对象的语言中。
- 数组
- 参见文章 数组。
- 字符串
- 一系列字符。通常实现为字符数组。
- 空值支持
- 除了数据空白或零之外,我们还可以有空值,这意味着我们还不知道那里应该是什么。
- DBCS 双字节字符集
- 一些国家和文化的“字母表”(如汉语、日语、韩语、俄语(西里尔字母))可以使用称为表意的图形字符来执行类似于西方国家语言中 A 到 Z 字母在构建含义方面的作用,除了每个表意字比每个 A 到 Z 字母都包含更多含义。数据类型可用于存储这些图形字符集,这些字符集包含比传统西方字符集中 256 种组合所能表示的更多符号,因此存在双字节字符集 (DBCS) 来解释每种组合。
- 一些特殊字体使用类似的系统。
- 一些条形码使用类似的概念。
- 日期时间和持续时间
- 这些是用于支持日期数学的特殊数据类型,例如计算两个日期之间的天数。
- 标志或指示器
- 它们包含真/假或是/否之类的值。它们通常用于识别键盘功能的使用(哪些特殊键被按下);打印机状态(准备打印新页面);文件访问(我们获得了我们正在查找的记录,我们现在位于文件结尾)。这些特殊条件意味着需要采取特殊行动。
- 可变长度
- 数据的宽度由内容控制。
- Ada 编程/类型系统
- C 编程/类型
- C++ 变量
- JavaScript/变量和类型
- Haskell/类型基础 - Haskell 语言通常用作编程语言研究人员开发新的、高级类型系统的平台。这本维基教科书可以让你洞悉未来普通程序员可能会看到的类型。(注意:另请参阅 Haskell 维基教科书的高级部分)