C++中的数据类型、运算符和表达式

C语言中的数据类型能分为四种:基本数据类型、构造数据类型、指针数据类型和空类型。

1、基本数据类型

     基本数据类型可以分为三种:整型、字符型、浮点型

整形:短整型、基本整型、长整型、长长整型。

    一般情况下在不同的编译器中相同的数据类型占用的字节数也不同。一下介绍在CodeBlock编译器中的统计。

          类型名称    字节数

          short[int]    2

          int         4

          long[int]     4

          long long[int]       8

   在C++中提供了可以计算字节数的方法sizeof(),如下例子:

    

 //sizeof(i)求字节数运算符
    short sh = 2;
    printf("short的字节数为:%d\n",sizeof(sh));
    int i = 1;
    printf("int的字节数为:%d\n",sizeof(i));
    long l = 1;
    printf("long的字节数为:%d\n",sizeof(l));
    long long ll = 24;
    printf("long long的字节数为:%d\n",sizeof(ll));
    float fl = 2.1111;
    printf("float的字节数为:%d\n",sizeof(fl));
    double dou = 2.333;
    printf("double的字节数为:%d\n",sizeof(dou));
    long double ld = 2.333;
    printf("long double的字节数为:%d\n",sizeof(ld));
    char ch = "A";
    printf("char的字节数为:%d\n",sizeof(ch));

运算结果如下:

 此外整型数据在内存中存储的方式是以二进制的形式存储的。实际上数值是以补码的形式表示的。正数的补码和原码一致,如果该数是负数,它的补码计算方式为:该数的绝对值的二进制、各位取反再加一得到补码。

比如:

short s = 10;

变量s在内存中存放的方式:

0000 0000 0000 1010

short s = -10;

变量s在内存中存放的方式:

1111 1111 1111 0110

从上面可以看出第一个比特位为0表示正数,1表示负数。

字符型

字符型在C语言中只占用一个字节,而且在内存中是以对应的ASCII码形式存放的,因此和整型的存储形式是一样的。

猜你喜欢

转载自www.cnblogs.com/LimorC/p/11210570.html