小蜗牛 发表于 2024-3-19 16:51:24

std::bitset 比特位集

它是C++标准库中的一种容器,专门用来表示一组固定的二进制位序列,其中每个位都可以独立设置为0或1。

<火山程序 类型 = "通常" 版本 = 1 />

类 字节比特 <公开 基础类 = 比特基类 注释 = "相当于个成员的逻辑数组,但是内存占用字节~" @模板实现类 = "字节">

类 短整数比特 <公开 基础类 = 比特基类 注释 = "相当于个成员的逻辑数组,但是内存占用字节~" @模板实现类 = "短整数">

类 整数比特 <公开 基础类 = 比特基类 注释 = "相当于个成员的逻辑数组,但是内存占用字节~" @模板实现类 = "整数">

类 变整数比特 <公开 基础类 = 比特基类 注释 = "相当于个成员的逻辑数组,但是内存占用字节~" @模板实现类 = "变整数">

类 长整数比特 <公开 基础类 = 比特基类 注释 = "相当于个成员的逻辑数组,但是内存占用字节~" @模板实现类 = "长整数">

类 比特基类 <折叠 @模板基础类 = 真 @别名类型 = 本地类 @别名 = "std::bitset <sizeof(模板类型1)*8>" @视窗.外部头文件 = "<bitset>">
{
    方法 取成员数 <公开 静态 类型 = 整数 注释 = "整数=32" 注释 = "长整数=64" 折叠 @嵌入式方法 = "">
    参数 当前对象 <类型 = 比特基类>
    {
      @ @<当前对象>.size()
    }

    方法 赋值 <公开 静态 折叠 @嵌入式方法 = "">
    参数 当前对象 <类型 = 比特基类>
    参数 值 <类型 = 模板类型1>
    {
      @ @<当前对象> = @<值>
    }

    方法 置值 <公开 静态 折叠 @嵌入式方法 = "">
    参数 当前对象 <类型 = 比特基类>
    参数 索引 <类型 = 整数>
    参数 值 <类型 = 逻辑型 注释 = "真=1假=0">
    {
      @ @<当前对象>[@<索引>]=@<值>
    }

    方法 置真 <公开 静态 折叠 @嵌入式方法 = "">
    参数 当前对象 <类型 = 比特基类>
    参数 索引 <类型 = 整数>
    {
      @ @<当前对象>.set(@<索引>)
    }

    方法 置假 <公开 静态 折叠 @嵌入式方法 = "">
    参数 当前对象 <类型 = 比特基类>
    参数 索引 <类型 = 整数>
    {
      @ @<当前对象>.reset(@<索引>)
    }

    方法 取值 <公开 静态 类型 = 逻辑型 注释 = "真=1假=0" 折叠 @嵌入式方法 = "">
    参数 当前对象 <类型 = 比特基类>
    参数 索引 <类型 = 整数>
    {
      @ @<当前对象>.test(@<索引>)
    }

    方法 是否包含真 <公开 静态 类型 = 逻辑型 注释 = "std::bitset 中是否存在值为 1 的位" 折叠 @嵌入式方法 = "">
    参数 当前对象 <类型 = 比特基类>
    {
      @ @<当前对象>.any()
    }

    方法 是否全部为假 <公开 静态 类型 = 逻辑型 注释 = "std::bitset 中是否所有位都是 0" 折叠 @嵌入式方法 = "">
    参数 当前对象 <类型 = 比特基类>
    {
      @ @<当前对象>.none()
    }

    方法 是否全部为真 <公开 静态 类型 = 逻辑型 注释 = "std::bitset 中是否所有位都是 1" 折叠 @嵌入式方法 = "">
    参数 当前对象 <类型 = 比特基类>
    {
      @ @<当前对象>.all()
    }

    方法 取真数量 <公开 静态 类型 = 逻辑型 注释 = "std::bitset 中值为 1 的位的数量" 折叠 @嵌入式方法 = "">
    参数 当前对象 <类型 = 比特基类>
    {
      @ @<当前对象>.count()
    }

    方法 到短整数 <公开 静态 类型 = 短整数 折叠 @嵌入式方法 = "">
    参数 当前对象 <类型 = 比特基类>
    {
      @ *(@dt<短整数>*)&@<当前对象>
    }

    方法 到整数 <公开 静态 类型 = 整数 折叠 @嵌入式方法 = "">
    参数 当前对象 <类型 = 比特基类>
    {
      @ (INT)@<当前对象>.to_ulong()
    }

    方法 到长整数 <公开 静态 类型 = 长整数 折叠 @嵌入式方法 = "">
    参数 当前对象 <类型 = 比特基类>
    {
      @ @<当前对象>.to_ullong()
    }

    方法 到字节 <公开 静态 类型 = 字节 折叠 @嵌入式方法 = "">
    参数 当前对象 <类型 = 比特基类>
    {
      @ *(byte*)&@<当前对象>
    }

    方法 到数值 <公开 静态 折叠 @嵌入式方法 = "">
    参数 当前对象 <类型 = 比特基类>
    参数 所欲读取值的类型 <注释 = "整数,字节,长整数...等~." 注释 = "输入 模板类型1 的数据类型即可~" @需求类型 = 数据类型 @匹配类型 = 通用非文本基本型 @返回值类型 = 0>
    {
      @ *(@<所欲读取值的类型>*)&@<当前对象>


    }
}


君安光电科技 发表于 2024-3-20 00:32:16

不错~

tangtang 发表于 2024-3-20 11:40:54

模块呢?

小蜗牛 发表于 2024-3-20 11:46:39

tangtang 发表于 2024-3-20 11:40
模块呢?

文本不就是吗

aycap 发表于 2024-3-20 11:54:42

在研究啥新东东

server 发表于 2024-3-20 16:42:08

小蜗牛 发表于 2024-3-20 11:46
文本不就是吗

小牛牛,把 std::string也封了呢

小蜗牛 发表于 2024-3-29 15:06:22

server 发表于 2024-3-20 16:42
小牛牛,把 std::string也封了呢

我不会啊..你可以看看PIV模块,里面应该有的

无止境 发表于 2024-5-1 00:04:59

怎么用?
页: [1]
查看完整版本: std::bitset 比特位集