官术网_书友最值得收藏!

1.2.1 常用數據類型

C++語言中常用的數據類型有布爾型、字符型、整型和浮點型,如圖1-3所示。

(1)bool,布爾型,存放兩種值:true或false。

(2)char,字符型,存放一個字符,如'a'。

(3)int、long long都是整型,可以存放整數,如數字12。

(4)float、double和long double都是浮點型,其中float為單精度浮點型,有效位數為8位,如3.402823;double為雙精度浮點型,有效位數為16位,如1.797693134862318; long double為高雙精度浮點型,有效位數為18位。

圖1-3 C++語言中常用的數據類型

注意

在不同的C++語言編譯器中,各數據類型的有效位數略有不同。

【例1-2】查看常用數據類型占用存儲空間的字節數。

    #include <iostream>
    using namespace std;
    int main() {
        cout << "sizeof(bool)=" << sizeof(bool) << endl;
        cout << "sizeof(char)=" << sizeof(char) << endl;
        cout << "sizeof(int)=" << sizeof(int) << endl;
        cout << "sizeof(long long)=" << sizeof(long long) << endl;
        cout << "sizeof(float)=" << sizeof(float) << endl;
        cout << "sizeof(double)=" << sizeof(double) << endl;
        cout << "sizeof(long double)=" << sizeof(long double) << endl;
        return 0;
    }

運行結果如下:

    sizeof(bool)=1
    sizeof(char)=1
    sizeof(int)=4
    sizeof(long long)=8
    sizeof(float)=4
    sizeof(double)=8
    sizeof(long double)=16

【例1-3】查看常用數據類型的最大值和最小值。

運行結果如下:

    bool: 最小值:0 最大值:1
    char: 最小值:-128      最大值:127
    int: 最小值:-2147483648        最大值:2147483647
    long long: 最小值:-9223372036854775808 最大值:9223372036854775807
    float: 最小值:1.17549e-038     最大值:3.40282e+038
    double: 最小值:2.22507e-308    最大值:1.79769e+308
    long double: 最小值:3.3621e-4932       最大值:1.18973e+4932

常用數據類型占用存儲空間及取值范圍如表1-1所示,在編程時,需要根據數據的范圍選擇適合的數據類型。

表1-1 常用數據類型占用存儲空間及取值范圍

例如,在統計我國全國人口數時,可以使用int數據類型嗎?

int的最大值是2147483647,超過了我國現有人口數(14億+),所以可以使用int數據類型統計全國人口數。

再思考,可以使用int數據類型統計全球人口數嗎?

截至2022年2月16日,統計到的全球人口數為7596934179人,這個數字已經超出了int數據類型的數據范圍,這時就應該使用long long數據類型。

由于2147483647=231-1,int數據類型的數據范圍也有兩種表示方式:-2147483648~2147483647或-231~ 231-1。

單精度浮點數float的數據范圍表示為1.17549e-038~3.40282e+038,這種表示方法稱為科學計數法,1.17549e-038意為1.17549×10-38,3.40282e+038意為3.40282×1038

主站蜘蛛池模板: 巴楚县| 贺兰县| 江陵县| 阿合奇县| 乐清市| 扎鲁特旗| 静海县| 息烽县| 日照市| 松桃| 阿合奇县| 盱眙县| 英吉沙县| 宣城市| 马边| 乐安县| 平顺县| 新郑市| 黔西| 迁西县| 综艺| 共和县| 贺州市| 额敏县| 安康市| 交口县| 陆丰市| 伊吾县| 遂昌县| 昭通市| 耿马| 沙田区| 绥化市| 牡丹江市| 永顺县| 双桥区| 平南县| 临颍县| 莱西市| 巩义市| 河间市|