网站大量收购独家精品文档,联系QQ:2885784924

C++之数 据 类 型.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C之数据类型

第2章 数 据 类 型 数据是能被计算机存储和处理的对象。数据类型则规定了数据的组织和操作方式,它说明了数据是怎么存储的以及怎么对数据进行操作。C++中的数据类型主要分为整型和浮点型。学习本章,读者可以了解C++处理数据的本质。 2.1 数据的表示 数字运算型是能够进行数学运算的数据类型,主要有整型、浮点型和双精度型。其中,整型表示整数,浮点型、双精度型表示实数。其表示范围从大到小,依次为双精度型、浮点型、整型。但是由于计算机自身的限制,无论是整型、浮点型还是双精度型都不能表示全部的整数和实数。 2.1.1 整型 整型就是整数类型。由于计算机存储字长的限制,整型所能表示的数的范围是数学概念下整数的子集。整型数可以用十进制、八进制、十六进制等3种进制表示。 十进制由0~9的数字组成,不能以0开始,没有小数部分,如11、–11、0等都是整型数。 八进制以0开始,由0~7的数字组成,如011、023等。 十六进制以0x开始,由0~9的数字及A到F的字母组成,如0x10、0xAA、0x1a等。 根据整型字长的不同,又可以分为短整型、整型、长整型3种。短整型至少长为16位;长整型至少为32位;整型介于短整型和长整型之间。整型究竟为16位还是32位,或者是其他值,由具体的编译器来决定。通常情况下,整型的长度是该种机型最为高效的位数。 整型用int表示,短整型在int前加short修饰符,长整型则加long。根据有无符号,整型还可分为有符号型和无符号型,分别用signed和unsigned来修饰。与3种整型类型相组合共有下述6种类型可用,如表2-1所示。 表2-1 各种整型类型的可能取值范围 通常情况下,signed修饰符可以省略不写,默认为有符号类型。当错误的为无符号型变量赋有符号的值时,有些编译器会报错,而有些则不会,但却作为可能的最大整型值处理。 类 型 最 小 范 围 类 型 最 小 范 围 signed short int –32 768~32 767 unsigned int 0~65 535 unsigned short int 0~65 535 signed long int –2 147 483 648~2 147 483 647 signed int –32 768~32 767 unsigned long int 0~4 294 967 295 例如,同样是数字1,如果被定义为int型,则系统将用16位来存储;如果定义为long型,将占用32位存储空间。 从可移植性角度考虑,在实际编程时,不建议直接使用表2-1中的范围值。这些值在头文件limits.h中都以宏定义的形式给出,如表2-2所示。 表2-2 各种整型类型的宏定义 符号 类型 有 符 号 型 无 符 号 型 最 大 值 最 小 值 最 大 值 最 小 值 short int SHRT_MAX SHRT_MIN USHRT_MAX   int INT_MAX INT_MIN UINT_MAX   long int LONG_MAX LONG_MIN ULONG_MAX   对于无符号时的最小值,该文件中没有定义,但该值很明确是0。为了防止溢出,在实际编程时,应该小心测试计算得到的数据是否在允许的范围内。这些宏定义在程序中可以作为常量直接使用。 说明:在科学计算中,还常会用到long long int和int64等整型类型。这些类型有更大的位长,因此也就可以表示更大范围的数据。 2.1.2 实型 实型既实数类型。日常用到的数可分为整数和实数,整数可以直接在计算机上表示,而实数则还不能直接表示。为了解决实数的表示和存储问题,在计算中采用了“浮点”化方法。 不像直接用“整型”来命名整数类型,C++并没有直接用“实型”来命名实数类型,而是将其命名为“浮点型”。之所以这么命名,是因为实数在机器上的表示方式叫浮点型表示,所以计算机科学中也将实数称为浮点数。 假设基数为2,浮点数表示方式如下所示。 N=M×2E 其中,M代表尾数,E代表阶码。在计算机中存储时,只需保存尾数和阶码即可,形式如下表。 表 数的精度由尾数决定,数的范围由阶码决定,数的符号由尾数符号表示。按照精度来分,可分为单精度型和双精度型。 尾数符号 阶码 尾数 【示例2-1】 实数13.75表示为浮点型的转换过程。 (1)转换为二进制表示。 (13.75)10=(1101.11)2 (2)规格化。 (1101.11)2=(1.10111×23)2 (3)浮点数表示如下表: 表 实际转换和存储方式比这里讲的要复杂的多,读者可以参考相关书籍学习,这里不再赘述。 这一小节的目的是让读者理解C++中的实数类型,从数学概念下的实数类型转换到计算机概念下的浮点型。接

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档