zoukankan      html  css  js  c++  java
  • #include <bitset>

    bitset

    (bitset)相当于一个多位二进制数,八位一字节,支持基本的位运算操作。不过对两个数的运算符操作只能对相同长度的(bitset)使用。直接输出一个(bitset)相当于直接输出一个长度为你定义的(01)串,也就是那个二进制数。

    声明方式

    bitset<5411> s;//中括号中填你需要多少位
    

    相当于一个长达(5411)的二进制数字。(n)位二进制数执行一次位运算的复杂度可视为(O(n/32)),效率较高。

    []

    (s)[(k)]返回(s)的第(k)位,可以取值也可以赋值。最低位是第(0)位,最高位是你定义的位数减一。

    s.count()

    返回有多少位是(1)

    s.any()/s.none()

    (s.any)()返回(s)里是否有任意一位为(1)。有为(true),没有为(false)

    (s.none)()返回(s)里是否没有(1),如果一个(1)都没有返回(true),否则返回(false)

    s.set()/s.reset()/s.flip()

    (s.set)()表示把(s)的每一位都赋值成(1)

    (s.set)((k,v))表示把(s)的第(k)位赋值成(v),相当于(s[k]=v)

    (s.reset)()表示把(s)的每一位赋值成(0)

    (s.reset)(k)表示把(s)的第(k)位赋值成(0),相当于(s[k]=0)

    (s.flip)()表示把(s)全部取反,相当于(s=)~(s)

    (s.flip)((k))表示把(s)的第(k)位取反,相当于下面这段代码:

    bitset<len> s,a;
    a[0]=1;
    s^=a<<(k-1);
    
  • 相关阅读:
    Why use strong named assemblies?
    Dependency Walker
    “等一下,我碰!”——常见的2D碰撞检测
    MOBA游戏的网络同步技术
    VS2017如何配置openGL环境
    UE4关于Oculus Rift (VR)开发忠告
    UE4 的json读写方式
    Blueprint 编译概述
    UE4编码规范
    Unreal Enginer4特性介绍
  • 原文地址:https://www.cnblogs.com/AKMer/p/9894551.html
Copyright © 2011-2022 走看看