C++ bitset(位图)的模拟实现-一、bitset接口总览

时间:2024-10-02 07:31:44
成员函数 功能
set 设置指定位或所有位为1(即设置为“已设置”状态)
reset 清空指定位或所有位,将其设为0(即设置为“未设置”状态)
flip 反转指定位或所有位的状态。如果位是0,则变为1;如果位是1,则变为0
test 获取指定位的状态。如果位是1,则返回true;如果位是0,则返回false
count 获取被设置为1的位的个数(即“已设置”的位的数量)
size 获取位图可以容纳的位的总数。这通常指的是位图数组的总大小(以位为单位)
any 如果有任何一个位被设置为1(即至少有一个位是“已设置”状态),则返回true;否则返回false
none 如果没有位被设置为1(即所有位都是“未设置”状态),则返回true;否则返回false
all 如果所有位都被设置为1(即所有位都是“已设置”状态),则返回true;否则返回false
#pragma once
#include <iostream>
#include <vector>
#include <assert.h>
namespace qi
{
	template <size_t N>
	class bitset
	{
	private:
		std::vector<int> _bits;
	public:
		bitset();
		void set(size_t pos);
		void reset(size_t pos);
		void flip(size_t pos);
		size_t size();
		size_t count();
		bool test(size_t pos);
		bool any();
		bool none();
		bool all();
		void Print(); //打印函数
	};
}

相关文章