差异可能是重要的

3位可储存8个值。N位可储存2 ^ N值。因为一个字节的8位,一个字节可以存放2 ^8(256)的值。

变量的大小对大量的信息可以存储-这是更大的变量可以容纳更多的限制。我们将进一步解决这个问题的时候,我们进入不同类型的变量。

第二,电脑有一个有限的可用内存。每一次我们声明一个变量,那游离的记忆是只要用变量是存在的一小部分。由于现代计算机有很多的记忆,这通常不是一个问题,特别是如果只声明一个变量少。然而,这需要大量的变量的程序(如100000),使用1字节和8字节变量之间的差异可能是重要的。

下一个显而易见的问题是“多少记忆做不同数据类型的变量?“。大小的一个给定的数据类型是依赖于编译器和/或计算机体系结构。在大多数的32位机(写这本书),一个字符的1字节,1字节是一个布尔,短的是2字节,一个是4字节,一个长为4个字节,一个浮动是4字节,一是8字节。

为了确定在一个特定的机器的数据类型的大小,C++提供了一个名叫sizeof操作。sizeof操作符是一元运算符,它可以是一个类型或变量,并返回字节数大小。你可以编译并运行下面的程序来找出你有多大的数据类型:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
int main()
{
    using namespace std;
    cout << "bool:\t\t" << sizeof(bool) << " bytes" << endl;
    cout << "char:\t\t" << sizeof(char) << " bytes" << endl;
    cout << "wchar_t:\t" << sizeof(wchar_t) << " bytes" << endl;
    cout << "short:\t\t" << sizeof(short) << " bytes" << endl;
    cout << "int:\t\t" << sizeof(int) << " bytes" << endl;
    cout << "long:\t\t" << sizeof(long) << " bytes" << endl;
    cout << "float:\t\t" << sizeof(float) << " bytes" << endl;
    cout << "double:\t\t" << sizeof(double) << " bytes" << endl;
    cout << "long double:\t" << sizeof(long double) << " bytes" << endl;
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值