标签: bitset

在bit上从bitset到bitset的无序(哈希)映射

I want to use a cache, implemented by boost's unordered_map, from a dynamic_bitset to a dynamic_bitset. The problem, of course, is that there is no default hash function from the bitset. It doesn't seem to be like a conceptual problem, but I don't know how to work out the technicalities. How should I do that?

c++ hash boost unordered-map bitset

6
推荐指数
1
解决办法
1998
查看次数

如何将矢量<bool>或bitset存储到文件中,但是按位?

如何将bitset数据写入文件?

第一个答案没有正确回答问题,因为它需要的空间比它应该多8倍.

你会怎么做?我真的需要它来保存很多真/假值.

c++ stl file vector bitset

6
推荐指数
1
解决办法
3170
查看次数

Java Bitset的替代方案,具有类似性能的数组?

我正在寻找Java Bitset实现的替代方案.我正在实现一个高性能算法,似乎使用Bitset对象正在扼杀它的性能.有任何想法吗?

java arrays bitset

6
推荐指数
3
解决办法
1万
查看次数

是否可以创建一个位集矢量?

我试图在C++中创建一个位集矢量.为此,我尝试了下面的代码片段中显示的尝试:

vector<bitset<8>> bvc;
    while (true) {
        bitset<8> bstemp( (long) xtemp );
        if (bstemp.count == y1) {
            bvc.push_back(bstemp);
        }
        if ( xtemp == 0) {
            break;
        }
        xtemp = (xtemp-1) & ntemp;
    }
Run Code Online (Sandbox Code Playgroud)

当我尝试编译程序时,我得到的错误是读取bvc未在范围中声明的内容.它进一步告诉模板参数1和2无效.(第1行).另外,在包含的行中bvc.push_back(bstemp),我收到的错误是读取成员函数的无效使用.

c++ vector bitset

6
推荐指数
2
解决办法
7436
查看次数

将java BitSet保存到DB

使用JPA,我希望能够将BitSet保存到数据库并将其拉回到程序中.

假设我有:

@Entity
@Table(name = "myTable")
public class MyClass {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "Object_Id")
    protected long id;

    @Column(name = "Tags")
    protected BitSet tags;

... getters & setters etc...
}
Run Code Online (Sandbox Code Playgroud)

还应该定义"columnDefinition"吗?我真的不明白它是如何持久的(使用toString()?)而且它是如何从数据库中加载回来的.

你能帮帮我一下吗?

谢谢!

java persistence jpa bitset

6
推荐指数
2
解决办法
2210
查看次数

如何从二进制字符串创建位集?

我在一个看起来像的文件中有一个二进制字符串

0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100100101101100110000110100110110111000010100110110110110111000011001000010110010010001100010010001010010010100001011001100010100001100100011011101

(256位).我可以将此字符串设置为bitset<256>非常快的值吗?

目前我在做

for (int t = sizeof(c) - 1; t > 0; t--) {
   if (c[t] == '1') {
      b |= 1;
   }
   b <<= 1;
}
b >>= 1;
Run Code Online (Sandbox Code Playgroud)

但我的结果不正确.

c++ char bitset

6
推荐指数
1
解决办法
8920
查看次数

使用bitcode

对于SO来说这只是一点点OT,因为我不是要解决一个特定的问题,而只是为了理解某些事情的实现方式.但我是在代码之后,让我们看看它是怎么回事......

假设我们在一周中的每一天都有一个复选框,我们决定将这些复选框的任意组合存储为单个数字,这样:

  0 = no days
  1 = Monday 
  2 = Tuesday
  4 = Wednesday
  8 = Thursday
 16 = Friday
 32 = Saturday
 64 = Sunday
127 = everyday
Run Code Online (Sandbox Code Playgroud)

如何在PHP中实现该逻辑,以便如果我提交说"13",PHP会知道只勾选周一,周三和周四复选框?

php bitset

6
推荐指数
2
解决办法
414
查看次数

C++ - 使用可配置的平均"1s到0s"比率生成随机bitset的有效方法

我正在寻找一种高效的方法来生成std::bitset设定长度的随机性.我也希望能够影响1s出现在结果中的概率,所以如果概率值设置得足够低,所有结果中只有一小部分甚至会包含a 1,但它仍然可能(但不太可能) )导致所有1s.它将用于计算量很大的应用程序中,因此欢迎所有可能的优化.

c++ random math optimization bitset

6
推荐指数
1
解决办法
1696
查看次数

Scala Enumeration ValueSet.isEmpty很慢

我在相当高吞吐量的设置中使用Scala Enumeration ValueSet - 创建,测试,联合和交叉约10M /秒/核心.我没想到这会是一个大问题,因为我曾经读过他们得到BitSets支持的地方,但令人惊讶的是,ValueSet.isEmpty在与YourKit的分析会话中出现了热点.

为了验证,我决定尝试使用Java BitSet重新实现我需要的东西,同时尝试保留使用Scala Enumerations的一些类型安全性.(代码审查转移到https://codereview.stackexchange.com/questions/74795/scala-bitset-implemented-with-java-bitset-for-use-in-scala-enumerations-to-repl)好消息是,将我的ValueSets更改为这些BitSet确实减少了25%的运行时间,因此我不知道ValueSet在引擎盖下的确做了什么,但它可以改进......

编辑:查看ValueSet源似乎表明isEmpty肯定是O(N),使用通用SetLike.isEmpty实现. 考虑到ValueSet是用BitSet实现的,这是一个错误吗?

编辑:这是分析器的回溯.这似乎是一种在bitset上实现isEmpty的疯狂方法.

在YourKit中回溯热点

java enumeration scala bitset scala-collections

6
推荐指数
1
解决办法
254
查看次数

Java获取BitSet交集基数的最快方法

下面的函数需要两个BitSets,复制第一个(它不能被覆盖),将副本与第二个(按位AND)相交并返回结果的基数.

public int getIntersectionSize(BitSet bits1, BitSet bits2) {
    BitSet copy = (BitSet) bits1.clone();
    copy.and(bits2);
    return copy.cardinality();
}
Run Code Online (Sandbox Code Playgroud)

我对这段代码加速感兴趣吗?这个功能被称为十亿次,所以即使是微秒加速也是有道理的,而且我对最快的代码感到好奇.

java intersection cardinality bitset

6
推荐指数
1
解决办法
1108
查看次数