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。
- Flask Web全棧開發實戰
- iOS面試一戰到底
- Building Modern Web Applications Using Angular
- Python深度學習:模型、方法與實現
- Getting Started with React Native
- Python Data Science Cookbook
- Web性能實戰
- QGIS Python Programming Cookbook(Second Edition)
- Instant Debian:Build a Web Server
- Getting Started with Nano Server
- Orchestrating Docker
- Docker:容器與容器云(第2版)
- SFML Game Development
- Learning Alfresco Web Scripts
- 測試工程師Python開發實戰