2 Star 0 Fork 0

狐皮先生/nb.c

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
Bitmap.h 692 Bytes
一键复制 编辑 原始数据 按行查看 历史
狐皮先生 提交于 2023-07-11 23:54 . 位图int开位实现
#pragma once
#include <vector>
using std::vector;
namespace zjy
{
template <size_t N=-1>
class bitset
{
public:
bitset()
{
_bits.resize(N / 32 + 1, 0);
}
void set(size_t x)
{
int loction = x / 32;
int bitloction = x % 32;
char flag = 1;
flag = flag << bitloction;
_bits[loction] |= flag;
}
void reset(size_t x)
{
int loction = x / 32;
int bitloction = x % 32;
char flag = 1;
flag = flag << bitloction;
_bits[loction] &= (~flag);
}
bool test(size_t x)
{
int loction = x / 32;
int bitloction = x % 32;
char flag = 1;
flag = flag << bitloction;
return _bits[loction] & flag;
}
private:
vector<int> _bits;
};
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/mr-fox-skin/nb.c.git
git@gitee.com:mr-fox-skin/nb.c.git
mr-fox-skin
nb.c
nb.c
master

搜索帮助