




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章 数据类型和数据表示 程序处理的对象是数据,数据有各种各样的表示形式。 计算机中只支持和实现有限的数据类型集,确定数据类型 与表示是软、硬件界面的组成部分。 3.1 数据类型 数据类型是指面向应用和面向软件系统所处理的各类 数据,其特征是: 一组值的集合与在此集合上的操作集。例如: 整数 整数值集合与算术操作集合; 布尔数据 布尔值(真、伪) 与布尔操作集合(与、或、 非、异或等) 。 定义数据类型有助于防止不同数据类型进行操作所引起的 错误。 数据类型分:基本数据、结构数据、访问指针和抽象 数据等。 3.1.1 基本数据类型 这是指进制位及其位串组成的数据。其中, 进制位是数量的固有数据类型,相应的操作是逻辑 操作与算术操作。 若干进制位组成的位串,取值为0000 1111 (L) , 是如下的基本数据类形: 整数及自然数浮点数(实数)字符布尔数十进制数 其相应的操作集为逻辑、算术运算及移位等。 3.1.2 结构数据类型由相互有关的数据元素复合而成的数据类型称结构数 据类型,其中数据元素可以基本数据类型中的元素,也可 以是结构数据类型中的元素。属结构数据类型有:向量和数组、字符串、堆栈、队 列、记录等。在结构数据类型的数据元素有的是相同类型, 如向量、数组:有的则可能不同,如记录,各字段数据项 有不同的类型。结构数据类型由用户定义或系统使用。结构数据类型比较复杂,一般计算机系统只部分地支 持这种数据类型。 3.2 数据表示 3.2.1 数据表示、数据类型和数据结构的关系 数据表示指可由硬件直接辨认的数据类型,硬件直接 辨认则指有对相应数据类型进行操作的指令和操作的部件。 例如:定点数 定点运算指令和整数运算部件; 布尔数 逻辑运算指令和逻辑运算部件; 实数(浮点) 浮点运算指令和浮点运算部件。 数据结构指结构数据类型的组织方式,它反映了各种 数据元素或信息单元间的关系,如串、堆栈、向量、数组 表、树、图、队列、矩阵等。这些数据结构硬件大多无法 直接识别,必须经过映射变换为可存储于一维存储器的各 种数据表示后方能识别。数据表示可为各种数据结构的实现提供不同程度的支持, 采用什么样的数据表示将反映数据结构实现的效率和使用 的方便程度。因为数据表示需要硬件支持,所以数据表示是软硬件界面的组成部份。 数据结构研究的一个主要课题,是如何使用最少的存储 空间来存储数据结构,以及采用什么算法能最快、最简单 地存储和访问它们。3.2.2 二进制的定点、浮点数据表示 因为几乎所有计算机都支持二进制数据表示,这里就不 再讨论。 但二进制浮点数的表示有较大的差别,为了有利于软件 的移植,美国IEEE提出了IEEE754标准,这是从体系结 构支持浮点数的表示方法。 IEEE754标准的浮点数表示形式为: 符号(S) 阶码(E称移码) 尾数(M原码) 尾数小数 点左边一位是隐含的。 具体分4种浮点数格式:(1) 单精度格式(32位) :E=8位,M=23位。(2) 扩展单精度格式( 43位) :E 11位,M 31位。(3) 双精度格式(64位) :E=11位,M=52位。(4) 扩展双精度格式(79位) :E 15位,M 63位。 下图是单精度浮点数格式: 1 8 23 S E M 符号 阶码 尾数 其中,移码值为127,阶码范围1 254,实际的阶码值为 126 127。尾数有效位实际为24位,有效值为1.M。 IEEE754标准单精度浮点数N解释如下:E=255 M 0 N = NaN 非数 E=255 M = 0 N =- 1) 无穷大 1 E 254 N = 规格化数 E=0 M 0 N= 非规格化数 E=0 M=0 N=0 数零 相应地也可以对其余三种浮点数N作出解释。下表给出了 IEEE754单、双精度浮点数的特征。 单精度 双精度 符号位 1 1 指数位 8 11 尾数位 23 52 总位数 32 64 指数系统 移码127 移码1023 指数取值范围 -126 +127 -1022 +1023 最小规格化数 最大规格化数 进制数范围 最小非规格化数 IEEE754标准使非数值、正负、规格化数与非规格 化数以及0(精确表示) 加以集中表示。这样对a/0(a0) 产 生正负无穷大,0/0产生非数值NaN都能表示与处理,给 软件的应用开发和移植带来方使。 下面举两个IEEE754标准浮点数表示的例子: (1) N = -1.5,写出单精度浮点数表示。 解:N = -1.5 = 所以 S = 1 E = 127 M = 0.5 单精度浮点数格式表示为: 1 01111111 10000000000000000000000 = BFC00000 H (2) 求以下单精度浮点数N的值为多少? 1 10000001 01000000000000000000000 解:S = 1 E = 129 M = 0.01B = 0.25 所以 N = 3.2.3向量数据表示 向量是一组数据元素的有序集合,如, 其中各元素有相同的数据结构和类型,在存储器中等间距 存储。向量数据表示有三个确定参数:基址,位移量,长度。 向量运算操作时有: 起始地址 = 基址 + 位移量 有效长度 = 向量长度 - 位移量 向量指令对向量数据进行操作,由操作码和相关的向量参 数组成。如A,B两个向量相加得到C向量;C = A + B 。 向量加指令为: 向量加 x a y b z c 其中,x、y、z是寄存器,分别寄存源向量A,B和结果 向量C的位移量,而a、b、c则分别为A,B,C三个向 量的基址和长度。现设 x,y,z内容分别为:4,-4,4 , a,b,c(长度)分别为:12,4,12 ,基址0。 则向量加指令实现如下操作: C(4:11) = A(4:11) + B(-4:3) 如果是标量机,上述向量加操作需用一段循环程序完成, 以下是用FORTRAN语言写的程序。 DO 20 I = 4,1120 C(I) = A(I) + B(I-8) 上述向量加操作可用下图表示: 基址 起始地址 位移 有效长度 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 基址 起始地址 基址 位移 有效长度 B-4 B-3 B-2 B-1 B0 B1 B2 B3 位移 有效长度 C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 基址 起始地址含有大量零元素的向量称稀疏向量,为了节省存储空 间和处理时间,稀疏向量采用压缩向量表示。如下图: A0 1 001 1 1 01 0 0 Z向量(有序位向量) 0 A3 A7 A4 A3 A0 A7 0 0 A4 稀 疏 向 量 压缩向量 3.2.4自定义数据表示 机器语言通常由指令指明操作数据类型,对同一种运 算,不同的数据类型要设置不同的指令。这和高级语言操 作数由数据类型语句显式说明,不同数据类型对同一种运 算只采用一个操作符有很大的差别。为减少这个差别,提出了自定义数据表示,即由数据 本身来指明类型。有两种自定义数据表示形式。1.带标志符数据表示(Tagged data representation) 这种表示对每一个数据附加一个标志符,说明后面的 数据所具有的类型,如整数、浮点数、十进制数、字符等。 格式如下: 标志符 数据 带标志符数据表示的优点是简化指令系统,筒化编译, 能自动地进行数据变换,易于对编程进行查错,方便程序 的调试等。但也有可质疑的,主要是数据区域增大,指令执行速 度变慢,增加空间和时间的额外开销。带标志符数据表示目前只在支持动态数据类型的高级 语言中应用,如LISP,PROLOG等。2. 数据描述符(Data descriptors) 一些复杂和多维结构的数据类型,一个数据中的各数 据元素的结构和类型相同,因此可采用描述符集中统一描 述,描述符和数据可分开存储。描述符格式如下: 描述符标志 特征标记 数据块长度 数据块起始地址 对采用描述符数据操作时,指令由操作码和描述符地址组 成,通过描述符来访问数据元素。如下面的例子。 操作码 X Y 010 描述符 000 010 地址生成逻辑 数据块 000 010 数据块 010 描述符 通过多次使用描述符访问可方便地描述多维数据结构,例 如要构成一个32的维数组,可描述如下:000 a32 000 a31 000 a21 000 a21 000 a12
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 长沙市生物中考试卷及答案
- 护理病人考试题及答案解析
- 难点详解人教版八年级上册物理《机械运动》同步测试试卷(含答案详解版)
- 人卫考试题库护考及答案
- 乡村医生编制考试题库及答案
- 红窑初二月考试卷及答案
- 大学进化生物学考试题及答案
- 2025-2026学年度四川省巴中市八年级第一学月检数学测试题 参考答案
- 晋中初一生物考试题及答案
- 制茶师二级考试题目及答案
- 2024下半年时政热点
- 2024年《初中英语课程标准》解读之写作教学
- 游乐高空项目管理制度
- 公司招标流程管理制度
- 2025年保密教育线上培训考试试题及答案
- 2025年运营管理与决策分析试题及答案
- 锑矿开采方案(3篇)
- 偷盗私了收钱协议书
- 断绝兄弟关系协议书
- 防水工程监理细则范文
- 冀教 九年级 英语 下册 Unit 3《Lesson 17 Staying Safe in an Earthquake 》课件
评论
0/150
提交评论