4数据类型.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4数据类型

1.基本数据类型 Byte(字节)=8bits(位) Word(字)=2Bytes=16bits Doubleword(双字)=2Words=4Bytes=32bits Quadword(四字)=4Words=8Bytes=64bits (=Intel486) Double Quadword(八字)=8Words=16Bytes=128bits (=Pentium III) 图4-1 基本数据类型 图4-2展示了每一种基本数据类型在内存中的字节顺序 受CPU总线限制(32位或64位或更高),使用数据结构(特别是栈)时对准自然边界能提高程序的效率,这是因为访问未对齐的数据需要两次,而对齐的数据只需要一次。以下是基本数据类型的自然边界: 字——偶数地址(2字节) 双字——能被4整除的地址(4字节) 四字——能被8整除的地址(8字节) 八字——有的指令只能操作对齐的八字操作数(能被16整除的地址),否则会产生异常(#GP),而另一些指令则允许操作未对齐的八字操作数,不管怎么样,访问未对齐的数据总是需要额外的存储总线周期。 2.数字数据类型 基本数据类型可以扩展为数字数据类型(带符号和不带符号的整型,浮点数字),见图4-3。 图4-3 数字数据类型 Intel 64IA-32架构定义了两种整型:带符号的和不带符号的。 [1]无符号整型 无符号整型是标准的二进制值。 在字节中它的范围是0~255, 在字中它的范围是0~65535, 在双字中它的范围是0~2^32-1, 在四字中它的范围是0~2^64-1。 [2]带符号整型 带符号整型是有符号的二进制值,采用补码(twos complement)表示。 字节整型的符号位是第7位, 字整型的符号位是第15位, 双字整型的符号位是第31位, 四字整型的符号位是第63位。 正整数的符号位置0,负整数的符号位置1。 在字节中它的范围是-128~+127, 在字中它的范围是-32768~+32767, 在双字中它的范围是-2^31~+2^31-1, 在四字中它的范围是-2^63~+2^63-1。 字整型在内存中占用两个连续的字节,双字整型在内存中占用四个连续的字节,四字整型在内存中占用八个连续的字节。 IA-32架构定义了三种浮点数据类型:单精度浮点数、双精度浮点数和扩展双精度浮点数(见图4-3),使用的格式符合IEEE 754二进制浮点运算标准。 表4-2 浮点数据类型的长度、精度与范围 单精度值在内存中占用四个连续的字节,双精度值在内存中占用八个连续的字节,扩展双精度值在内存中占用十个连续的字节。 单精度与双精度浮点数据类型可以被x87 FPU和SSE/SSE2/SSE3指令操作,扩展双精度浮点格式只能由x87 FPU操作。 3.指针数据类型 IA-32架构定义了两种类型的指针:近指针和远指针(见图4-4)。 图4-4. 指针数据类型 近指针是段内部的一个32位(或16位)偏移。 远指针(或逻辑地址)包括了一个16位的段选择器和一个32位(或16位)的偏移。 4.位字段 位字段是一个连续的位序列,可以开始于任何字节的任何位置,最多能包含32位。(见图4-6) 图4-6. 位字段数据类型 5.字串数据类型 字串是一个连续的位、字节、字或双字序列,位字串可以开始于任何字节的任何位置,最多能包含2^32-1位,字节字串可以包括字节、字或双字,范围从0到2^32-1(4GBytes)。 6.打包SIMD数据类型 Intel 64IA-32架构为SIMD(单指令多数据流)操作定义了一组64位和128位的打包数据类型,这些数据类型由基本数据类型(打包字节、字、双字和四字)和基本数据类型的数字解码组成。 7.BCD与压缩BCD整型 BCD(Binary-coded decimal)整型是一个4位的无符号整型,有效值范围0~9。 8.实数字与浮点格式 图4-10. 二进制实数系统 图4-11. 二进制浮点格式 表4-5. 实数字与浮点数字表示法 9.浮点异常概述 略

文档评论(0)

jiuqie957379 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档