• 变量的大小会根据编译器和所使用的电脑而有所不同


    下面实例会输出您电脑上各种数据类型的大小。

    实例

    #include <iostream>
    #include <limits>

    using namespace std;

    int main()
    {
    cout << "type: " << "************size**************"<< endl;
    cout << "bool: " << "所占字节数:" << sizeof(bool);
    cout << " 最大值:" << (numeric_limits<bool>::max)();
    cout << " 最小值:" << (numeric_limits<bool>::min)() << endl;
    cout << "char: " << "所占字节数:" << sizeof(char);
    cout << " 最大值:" << (numeric_limits<char>::max)();
    cout << " 最小值:" << (numeric_limits<char>::min)() << endl;
    cout << "signed char: " << "所占字节数:" << sizeof(signed char);
    cout << " 最大值:" << (numeric_limits<signed char>::max)();
    cout << " 最小值:" << (numeric_limits<signed char>::min)() << endl;
    cout << "unsigned char: " << "所占字节数:" << sizeof(unsigned char);
    cout << " 最大值:" << (numeric_limits<unsigned char>::max)();
    cout << " 最小值:" << (numeric_limits<unsigned char>::min)() << endl;
    cout << "wchar_t: " << "所占字节数:" << sizeof(wchar_t);
    cout << " 最大值:" << (numeric_limits<wchar_t>::max)();
    cout << " 最小值:" << (numeric_limits<wchar_t>::min)() << endl;
    cout << "short: " << "所占字节数:" << sizeof(short);
    cout << " 最大值:" << (numeric_limits<short>::max)();
    cout << " 最小值:" << (numeric_limits<short>::min)() << endl;
    cout << "int: " << "所占字节数:" << sizeof(int);
    cout << " 最大值:" << (numeric_limits<int>::max)();
    cout << " 最小值:" << (numeric_limits<int>::min)() << endl;
    cout << "unsigned: " << "所占字节数:" << sizeof(unsigned);
    cout << " 最大值:" << (numeric_limits<unsigned>::max)();
    cout << " 最小值:" << (numeric_limits<unsigned>::min)() << endl;
    cout << "long: " << "所占字节数:" << sizeof(long);
    cout << " 最大值:" << (numeric_limits<long>::max)();
    cout << " 最小值:" << (numeric_limits<long>::min)() << endl;
    cout << "unsigned long: " << "所占字节数:" << sizeof(unsigned long);
    cout << " 最大值:" << (numeric_limits<unsigned long>::max)();
    cout << " 最小值:" << (numeric_limits<unsigned long>::min)() << endl;
    cout << "double: " << "所占字节数:" << sizeof(double);
    cout << " 最大值:" << (numeric_limits<double>::max)();
    cout << " 最小值:" << (numeric_limits<double>::min)() << endl;
    cout << "long double: " << "所占字节数:" << sizeof(long double);
    cout << " 最大值:" << (numeric_limits<long double>::max)();
    cout << " 最小值:" << (numeric_limits<long double>::min)() << endl;
    cout << "float: " << "所占字节数:" << sizeof(float);
    cout << " 最大值:" << (numeric_limits<float>::max)();
    cout << " 最小值:" << (numeric_limits<float>::min)() << endl;
    cout << "size_t: " << "所占字节数:" << sizeof(size_t);
    cout << " 最大值:" << (numeric_limits<size_t>::max)();
    cout << " 最小值:" << (numeric_limits<size_t>::min)() << endl;
    cout << "string: " << "所占字节数:" << sizeof(string) << endl;
    // << " 最大值:" << (numeric_limits<string>::max)() << " 最小值:" << (numeric_limits<string>::min)() << endl;
    cout << "type: " << "************size**************"<< endl;
    return 0;
    }

    本实例使用了 endl,这将在每一行后插入一个换行符,<< 运算符用于向屏幕传多个值。我们也使用 sizeof() 函数来获取各种数据类型的大小。

    当上面的代码被编译和执行时,它会产生以下的结果,结果会根据所使用的计算机而有所不同:

    type:         ************size**************
    bool:         所占字节数:1    最大值:1        最小值:0
    char:         所占字节数:1    最大值:        最小值:?
    signed char:     所占字节数:1    最大值:        最小值:?
    unsigned char:     所占字节数:1    最大值:?        最小值:
    wchar_t:     所占字节数:4    最大值:2147483647        最小值:-2147483648
    short:         所占字节数:2    最大值:32767        最小值:-32768
    int:         所占字节数:4    最大值:2147483647    最小值:-2147483648
    unsigned:     所占字节数:4    最大值:4294967295    最小值:0
    long:         所占字节数:8    最大值:9223372036854775807    最小值:-9223372036854775808
    unsigned long:     所占字节数:8    最大值:18446744073709551615    最小值:0
    double:     所占字节数:8    最大值:1.79769e+308    最小值:2.22507e-308
    long double:     所占字节数:16    最大值:1.18973e+4932    最小值:3.3621e-4932
    float:         所占字节数:4    最大值:3.40282e+38    最小值:1.17549e-38
    size_t:     所占字节数:8    最大值:18446744073709551615    最小值:0
    string:     所占字节数:24
    type:         ************size**************
  • 相关阅读:
    15、线程
    17、lambda表达式
    16、sockect
    14、反射(reflect)
    13、集合2
    java 基本类型、包装类、字符串之间的转换
    13、集合1
    12、NIO、AIO、BIO二
    12、NIO、AIO、BIO一
    11、流与文件
  • 原文地址:https://www.cnblogs.com/sea520/p/12690443.html
Copyright © 2020-2023  润新知