标签:#数据类型

共 58 篇文章

弱引用

在计算机程序设计中,弱引用与“强引用”相对,是指不能确保其引用的对象不会被垃圾回收器回收的引用。一个对象若只被弱引用所引用,则被认为是不可访问(或弱可访问)的,并因此可能在任何时刻被回收。一些配有垃圾回收机制的语言,如Java、C#、Python、Perl、Lisp等都在不同程度上支持弱引用。 垃圾回收 垃圾回收用来清理不会再使用的对象,从而降低内存泄露和数据损坏的可能性。垃圾回收主要有两种类型:追踪和引用计数。引用计数会记录给定对象的…

子类型

在编程语言理论中,子类型(动名词,)是一种类型多态的形式。这种形式下,子类型(名词,)可以替换另一种相关的数据类型(超类型,)。也就是说,针对超类型元素进行操作的子程序、函数等程序元素,也可以操作相应的子类型。如果 S 是 T 的子类型,这种子类型关系通常写作 S number 的语言。在第一种情况下,整数类型将是浮点数类型的子类型;在第二种情况下,这两个类型都是 number 的子类型而相互之间无子类型关系。 编程者可利用子类型来以比…

不透明指针

在程序设计中,不透明指针(Opaque pointer)是不透明数据类型的一种特殊情况,这种資料類型被声明为指向某种未指定类型的记录或数据结构的指针。不透明指针存在于艾达、C语言、C++、D語言和Modula-2 等多种编程语言中 不透明指针是一种向普通客户端隐藏接口實現细节的方法。这对程序员也有好处,因为可以创建一个简单的接口,而大多数细节可以隐藏在另一个文件中。 例子 Ada package Library_Interface is…

可选类型

在编程语言(尤其是函数式编程语言)和类型论中,可选类型()是一种表示可选值的多态类型,也称作可能类型()。例如,函数可以使用可选类型的返回值,表示执行该函数后可能返回有意义的值,也可能不返回。 可选类型的构造函数通常有两种形式:一种形式不包含任何参数,表示空(常记作 None 或者 Nothing);另一种形式包含原始数据类型 A(常记作 Just A 或者 Some A)。 面向对象编程领域可空类型的概念(常记作 A?)与可选类型类似…

记录

在计算机科學中,记录()也稱為結構體()或複合資料()是基本的数据结构,記錄是一些相关欄位的聚集,它们可由不同的資料類型組成,通常是固定的數量和序列。记录中的每个欄位或稱為元素,但可能與集合的元素概念混淆不清。在物件導向編程中,記錄的欄位也另外被稱為成員;依照慣例和具體的編程語言,多元组有可能會被認為是一個記錄,反之亦然。 譬如將日期儲存為一個記錄,則其中包含了數字的年份,以字串表示的月份和數字的日期等欄位。而人事記錄可包含姓名,薪水和…

类型转换

在计算机科学,特别是在程序设计语言中,类型转换()指将数据从一种类型转换到另一种类型的过程。一个简单的例子是将整数转换成浮点数。 分类和例子 类型转换包括显式指定被转换到的类型的显式转换(explicit cast)(或称铸型(cast)),以及与之相对的隐式转换(implicit conversion)。其中,后者在一些语言中也被称为强制(coercion),被认为是一种特设多态机制。因为翻译不准确等原因,这两者之间的对应常被混淆。例…

定點數運算

在電腦中,定点数()是指用固定整數位數表達分數的格式,屬於实数数据类型中一種。例如美元常會表示到二位小數,以分來表示,即為一種定点数。有時定点数也會要求要有固定的整數位數。定点数与更复杂的浮点数相对。 在定点数表示法中,小數部份和整數部份一樣,也會表示為進制底数b的幂次,不過是以負數幂次來表示。最常見的定点数表示法是十进制(底数為10)和二进制(底数為2)。若儲存了n位的小數,其數值一定是b−n的整數倍。定点数表示法也會用來省略整數中較…

不定型別

不定型別是目前程式語言中所擁有的一種資料型別,常用於Visual Basic及C++中。 在Visual Basic(及Visual Basic for Applications)中,不定型別是一種標籤聯合,用以表達任何一種資料型別(例如整數、雙精度及單精度浮點數、物件等等),除了固定長度字串或結構體。任何在Visual Basic中並未明確指定資料型別的變數,也會被當成不定型別來進行處理。 儘管不明確地宣告變數型別是一個不太好的習慣,…

單精度浮點數

单精度浮点数()是用来表示浮点数的一种数据类型,在计算机中占据32比特(4字节)大小,因此也称为float32或FP32。在IEEE 754中这种32位二进制格式被正式称为binary32格式,而在IEEE 754-1985中被称为single,即单精度。 利用“浮点”(浮动小数点)的方法,浮点数可以表示一个范围很大的数值。需要注意的是,在更早的一些计算机系统中,也存在着其他4字节的浮点数格式。 定義 第1位表示正负,中間8位表示指数,…

半精度浮点数

半精度浮点数()是用来表示浮点数的一种数据类型,在计算机中占据16比特(2字节)大小,因此也称为float16或FP16。在IEEE 754中这种16位二进制格式被正式称为binary16格式,因为只有單精度浮點數的一半大小,也简称为half,即半精度。这种数据类型适合对精度要求不高的场景,例如图像处理和人工神经网络等领域。 半精度浮点数可在OpenEXR, JPEG XR, OpenGL, Cg语言、D3DX等计算机图形环境中使用。其…

递归数据类型

在计算机编程语言中,递归类型(又名:递归定義、隱含類型或隱含定義)是一种特殊的数据类型,它表示自身内部可能包含其它的同样类型的值。 範例 以下是一個在Haskell中使用链表类型的一个列子: data List a = Nil | Cons a (List a) 这表示a的链表s可以是一个空表或一个cons单元包含了一个'a'(链表的“头”)和另一个链表(“尾”)。 递归不允许在Miranda语言中和Haskell的同义类型中出现,所以…

串列 (抽象資料型別)

在計算機科學中,串列()或序列(),是一種抽象数据类型,一種有限的有序值的集合,其中每个值可以出现多次。列表的一个实例是在計算機中用來表現出數學上有限-{序列}-的概念;列表的无限类似是流。列表是容器的一个基本例子,因为它们包含其他值。在串列中的每個值(value),稱為項目(item)、條目(entry)或元素(element);如果相同的值出现多次,每一次出现都认为是分立的一个项目。列表和数组区别在列表只允许顺序访问,而数组允许随机…

指標 (電腦科學)

在计算机科学中,指標(),是在许多程式語言中用来存储-{zh-hans :内存地址; zh-hk:記憶體位址; zh-mo:記憶體位址; zh-my:記憶體位址; zh-sg:記憶體位址; zh-tw:記憶體位址;}-的变量。指针变量的值直接指向()存在该地址的对象的值。所指向的可以是计算机内存中的另一个值,或者在某些情况下,是内存映射计算机硬件的值。 歷史 在1964年,哈羅德·勞森發明了最早的指標。他在PL/I中實作出了這個概念,其…

数据类型 (C语言)

在C语言中,数据类型可以分为两类:基础数据类型和复合数据类型。 基础数据类型 注意:以下是典型的数据位长和范围。编译器可能使用不同的数据位长和范围。请参考具体的参考。 在标准头文件limits.h 和 float.h中说明了基础数据的长度。float,double和long double的范围就是在IEEE 754标准中提及的典型数据。另外,C99添加了新的复数类型,C11添加了原子类型,它们不在本条目讨论范围内。关于这些类型的具体含义…

八精度浮點數

八精度浮点数(Octuple-precision floating-point)是用来表示浮点数的一种资料型别,在计算机中占据256比特(32字节)大小,因此也称为float256或FP256。在 IEEE 754-2008 中,四精度浮点数格式的正式名称为 binary256。 格式 IEEE 754 标准将八精度浮点数指定为具有: 符号位:1位 指数部分:19位 尾数部分:236位 (由于省略了首位必定存在的“1”,实际上为237位…

四精度浮點數

四精度浮点数(Quadruple-precision floating-point)是用来表示浮点数的一种资料型别,在计算机中占据128比特(16字节)大小,因此也称为float128或FP128。在 IEEE 754-2008 中,四精度浮点数格式的正式名称为 binary128。 格式 IEEE 754 标准将四精度浮点数指定为具有: 符号位:1位 指数部分:15位 尾数部分:112位 (由于省略了首位必定存在的“1”,实际上为11…

張量浮點-32

张量浮点-32(TensorFloat-32)是用来表示浮点数的一种资料型别,在计算机中占据19比特大小,专为在某些 Nvidia GPU 上运行的 Tensor Core 而设计。 格式 张量浮点-32格式具有: 符号位:1位 指数部分:8位 尾数部分:10位 (由于省略了首位必定存在的“1”,实际上为11位) 虽然与普通的 32 位 IEEE 754 浮点数相比精度较低,但计算速度要快得多,在 A100 上最多可达 8 倍(与使用 …

雙精度浮點數

雙精度浮點數()是用来表示浮点数的一种資料型別,在计算机中占据64比特(8字节)大小,因此也称为float64或FP64。在IEEE 754中这种64位二进制格式被正式称为binary64格式,而在IEEE 754-1985中被称为double,即双精度。 比起單精度浮點數僅有 32 位元(4字节),雙精度浮點數使用 64 位元(8字节) 來儲存一個浮點數。 它可以表示二進位制的53-{位}-有效數字,其可以表示的数字的绝对值范围为[ …

联合体

在计算机科学中,联合体()又名共用體,是一种具有多个类型或格式的值,或者把它定义为一种由具有这样的值的变量形成的数据结构。一些编程语言可以支持被称为“联合体”的特殊的資料類型,来表示上述的变量。与枚举和结构体不同的是,一个联合体的长度等于其内部长度最大的成员的长度,并且它们都共享着同一段内存。 在C語言中,一個典型的例子如下: union name1 { int a; float b; char c; } uvar; 外部链接 [htt…

复数 (数据类型)

一些编程语言为复数存储和算术提供复数类型作为内置数据类型。 复数操作 复数变量或值通常表示为一对浮点数。支持复数类型的语言通常提供用于构建此类值的特殊语法,并扩展基本算术运算以作用于它们。这些操作通常被编译器转换为浮点计算指令或库调用。这些语言还为其他操作提供支持,例如格式化、相等测试等。与数学上的看法一样,需要进行类型转换时,这些语言通常将浮点值解释为虚部为零的复数值。 例子 FORTRAN COMPLEX 类型 C语言的 C99 标…