C++数据类型的取值范围

这篇文章主要介绍“C++数据类型的取值范围”,在日常操作中,相信很多人在C++数据类型的取值范围问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++数据类型的取值范围”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

创新互联公司服务项目包括耿马网站建设、耿马网站制作、耿马网页制作以及耿马网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,耿马网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到耿马省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

创新互联专注于企业全网营销推广、网站重做改版、福海网站定制设计、自适应品牌网站建设、H5开发成都商城网站开发、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为福海等各大城市提供网站开发制作服务。

C++数据类型是用来存储值的所在处;它们有名字和数据类型,变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中,变量名允许的***长度随编译器的不同而不同。

而在C++数据类型,则必须先声明变量类型再使用变量:int x1 = 1;int x = 1000;float y = 3.14;long z = 457000;这样,编译器就可以进行类型检查,确保程序运行时一切顺利。数据类型使用不当会导致编译错误或警告,以便分析和纠正之后再运行。

有些数据类型有带符号和无符号两种。带符号(signed)数据类型可以包含正数和负数,而无符号(unsigned)数据类型只能包含正数。表1.1列出了C++中的数据类型、所要内存量和可能的取值范围。

数据类型 字节 数取值范围:

char 1 -128到126    unsigned char 1 0到255    short 2 -32,768到32,767    unsigned short 2 0到65,535    long 4 -2,147,483,648到2,147,483,648    unsigned long 4 0到4,294,967,295    int 4 同long    unsigned int 4 同unsigned long    float 4 1.2E-38到3.4E381    double 8 2.2E-308到1.8E3082    bool 1 true或false

从上表可以看出,int与long相同。那么,为什么C++还要区分这两种数据类型呢?实际上这是个遗留问题。在16位编程环境中,int要求2个字节而long要求4个字节。而在32位编程环境中,这两种数据都用4个字节存放。

C++数据类型只生成32位程序,所以int与long相同。说明 在C++ Builder和BorLand C++ 5.0中,Bool是个真正的数据类型。有些C++编译器有Bool关键字,则Bool不是个真正的数据类型。

有时Bool只是个typedef,使Bool等价于int。typedef实际上建立别名,使编译器在一个符号与另一符号间划上等号。typedef的语法如下:typedef int Bool;这就告诉编译器:Bool是int的别名。说明 只有double和float数据类型使用浮点数(带小数点的数)。

其它数据类型只涉及整数值。尽管integer数据类型也可以指定带小数点的数值,但小数部分会舍弃,只将整数部分赋予整型变量,例如:int x=3.75;得到的x取值为3。注意,这个整数值并不是四舍五入,而是放弃小数部分。

顺便说一句,大多数Windows程序很少用到浮点数。C++数据类型可以在必要时进行不同数据类型间的换算。例如:short result;long num1 = 200;long num2 = 200;result = num1 * num2;这里我想将两个长整型的积赋予一个短整型。尽管这个公式混用了两种数据类型,但C++能够进行换算。

计算结果会怎样呢?结果会让你大吃一惊,是25536,这是绕接(wrop)的结果。从表1.1可以看出,短整型的***取值为32767,在***值之上加1会怎么样呢?得到的是32768。这实际上与汽车里程计从99999回到00000的道理一样。为了说明这点,请输入并运行下列清单1.3中包含的程序。

到此,关于“C++数据类型的取值范围”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


本文标题:C++数据类型的取值范围
本文来源:http://ybzwz.com/article/jjieii.html