【C++】基本的数据类型(一) 整型常量的表示方法

来源:互联网 发布:科力达全站仪传输软件 编辑:程序博客网 时间:2024/05/21 09:57

         很长时间没有更新了,不是没有看书,而是实在看得有点晕了··

         第一章的结尾讲的是class(类)的应用,由于网站没有打开,所以就放弃了。还好第二章介绍的是类的编写,这样可以更好的掌握类的本质了。

        第二章的标题是“变量及基本的数据类型”,因此介绍了非常基本的数据结构和变量命名使用的知识。不过,由于英文跟中文还是有一点差异的,看起来有点吃力,也很枯燥。为了梳理一下脉络,还是在这里把各个知识点都整理一下吧。

        1. 内建数据类型

        以前稍微接触过这方面的知识,书中也比较详细的介绍了这方面的内容。

        内建数据类型主要是整数型,它又分为signed和unsigned类型,并且每种类型又可以分为如下几种Arithmetic Types(算数类型):


    

        表中可以清楚的看到每种算数类型的最小单位,这对以后定义常量或者变量类型又很大的帮助。

        2. 字面常量(又叫文字常量或字符常量)

        顾名思义,字面常量就是字面+常量。(原文中就是这么解释的)每个字符都有它相关联的类型,例如,0是int型,3.14159是double型。字符的存在只是针对于built-in types(内建数据类型)。没有常量是class type(类类型),当然也没有常量是library type(库类型)的。

—————————————————————————————————————————————————

       下面,我们来看下常量的表达方式。

       1. Integer Literals

       首先我们来表示一个值20。当然,我们有很多种方式来表示,十进制、八进制或者16进制,如下

       20       // decimal(十进制)

       024      // octal(八进制)

       0x14     // hexadecimal(16进制)

       在C++中,我们把带有“0”前缀的常量认作是八进制的常量,“0x”或者“0X”前缀的认作16进制。默认情况下,这些字符常量可以是int,也可以是long,主要取决于定义的类型是否适合字符的长度。

       同样,通过给字符常量加上后缀,我们也可以特别定义这个常量的类型,如signed、unsigned或者是long。

       128u       1024UL

       1L             8Lu   

      通常情况下,我们使用大写的“L”来定义long,主要是为了防止“l”和“1”混淆。后缀与被定义的字符之间不能有空格,另外,没有字符类型是short型的。

      2.Floating-Point Literals

      我们可以使用十进制或者科学技术的方式来书写浮点型字符常量。如果是使用科学计数法,那么指数(幂)是在“E”或者“e”后面特别标明的。默认情况下,浮点型字符常量是double型,如果要表示单精度的浮点型常量,我们要在数值后面标明“F”或者“f”。同样的,我们特别通过添加后缀“L”或者“l”(“l”不鼓励使用)来声明extended precision(扩展精度)类型。如下举例,每一列的值其实是一样的:

     3.14159F      .001f       12.345l         0.

     3.14159E0f    1E-3F       12345E1L        0e0

—————————————————————————————————————————————————

      下一篇,我们继续解读字符型以及字符串等的知识。         

0 0
原创粉丝点击