40亿占多少个字节:4G
10个亿需要1G
一个整型需要4个字节,40亿个则需要16G
由于如果我们直接使用这种方式去存储需要16个G显然这是不可能的,因此我们需要用到下面的方式去存储,采用位图
我们用一个Bit位去标识一个数存在还是不存在
我们都是到一般字节是存储的最小单位
那么一个字节有8个位,巧妙的利用这一点来实现我们的位图
比如10我们先确定他存在第几个字节,再去确定它在第几个字节的第几个位上
如果是40亿个整型,那么我们大概实际上需要多少个字节?
我们由于一个整型采用一个字节上的一个位就可以存储。
#include<iostream>
#include<stdlib.h>
#include<vector>
using namespace std;
class BitMap
{
public:
BitMap(size_t range)
{
_bitmap.resize(range >> 3);
}
void Set(