zoukankan      html  css  js  c++  java
  • 变量的大小会根据编译器和所使用的电脑而有所不同

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

    实例

    #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**************
  • 相关阅读:
    Oracle SQL语句大全—查看表空间
    Class to disable copy and assign constructor
    在moss上自己总结了点小经验。。高手可以飘过 转贴
    在MOSS中直接嵌入ASP.NET Page zt
    Project Web Access 2007自定义FORM验证登录实现 zt
    SharePoint Portal Server 2003 中的单一登录 zt
    vs2008 开发 MOSS 顺序工作流
    VS2008开发MOSS工作流几个需要注意的地方
    向MOSS页面中添加服务器端代码的另外一种方式 zt
    状态机工作流的 SpecialPermissions
  • 原文地址:https://www.cnblogs.com/sea520/p/12690443.html
Copyright © 2011-2022 走看看