C++基本算术类型

C++基本类型包括算术类型和空类型(void)
算数类型包含整型(包括字符和布尔类型)和浮点型

C++标准规定尺寸的最小值如下

类型 含义 大小
bool 布尔类型 未定义
char 字符 8位
int 整型 16位
long 长整型 32位
long long 长整型 64位
float 单精度浮点数 6个有效数字
double 双精度浮点数 10个有效数字

1字节(byte)= 8位(bit)
1字(word)= 4或8字节(byte)= 32或64位(bit)

我们可以看一看实际大小

#include <iostream>

using namespace std;

int main()
{
    cout << "size of bool :" <<' '<<sizeof(bool)<< " byte"<<endl;
    cout << "size of char :" << ' ' << sizeof(char) << " byte" << endl;
    cout << "size of short :" << ' ' << sizeof(short) << " byte" << endl;
    cout << "size of int :" << ' ' << sizeof(int) << " byte"<<endl;
    cout << "size of long:" << ' ' << sizeof(long) << " byte" << endl;
    cout << "size of long long:" << ' ' << sizeof(long long) << " byte" << endl;
    cout << "size of float:" << ' ' << sizeof(float) << " byte" << endl;
    cout << "size of double:" << ' ' << sizeof(double) << " byte" << endl;
    cout << "size of long double:" << ' ' << sizeof(long double) << " byte" << endl;
    return 0;
}

输出结果如下

size of bool : 1 byte
size of char : 1 byte
size of short : 2 byte
size of int : 4 byte
size of long: 8 byte
size of long long: 8 byte
size of float: 4 byte
size of double: 8 byte
size of long double: 16 byte

可以看到bool虽然只有0和1两个值,但是也要占1byte,所以bool只有1位有信息,其余7位是浪费的。

参考:C++ Primer

猜你喜欢

转载自blog.csdn.net/xp731574722/article/details/79486027