bitset相关内容

在c ++中将bitset转换为int

在c ++中。我初始化一个bitset为-3 like: std :: bitset mybit(-3); 是否有一种宽限方式转换 mybit 到 -3 。 Beacause bitset对象只有类似于 to_ulong 和 to_string 的方法。 解决方案 使用 to_ulong 将其转换为 unsigned long ,然后使用普通转换将其转 ..
发布时间:2016-10-20 21:34:03 C/C++开发

std :: bitset的二进制序列化

std :: bitset 有一个 to_string()方法,用于序列化为 1 s和 0 的字符串显然,这对bitset中的每个位使用单个8位 char ,使得序列化表示比必要的长8倍。 我想以二进制表示存储bitset以节省空间。 to_ulong()方法仅在我的bitset中少于32位时才是相关的。我有数百个。 我不确定我想使用 memcpy() / std :: copy()对 ..
发布时间:2016-10-19 20:04:50 C/C++开发

为什么std :: bitset的位以相反的顺序?

为什么bitset以相反的顺序存储位?多次绑定后,我终于写了这个binary_to_dec。可以简化吗? int binary_to_dec(std :: string bin) { std :: bitset< ; 8>位; int c = bin.size(); for(size_t i = 0; i { bit.set(c-1, i] - '0'?tru ..
发布时间:2016-10-17 10:56:04 C/C++开发

C ++:在初始化时定义bitset大小?

我想在C ++中创建一个bitset。我做了一点研究。我发现的所有例子都在这里: bitset myBitset; //做某事与它 但我不知道bitset的大小当我在我的类中定义变量: #include class Test { public: std :: bitset * myBitset; } 这 ..
发布时间:2016-10-17 10:09:49 C/C++开发

位矢量和bitset

bit-vector和bitl容器的区别是什么?请解释。 我的理解bitset是bitvector的概念的实现我是对还是错?实现位向量的其他方法是什么? 解决方案 bit_vector 与 std :: vector 相同的接口,并针对空间进行了优化。它不是标准C ++的一部分。此文档声称它接近于STL 向量 ,这可能是非常接近标准的C ++ std :: vector ..
发布时间:2016-10-14 22:17:23 C/C++开发

在C ++中定义一个大的bitset

在我的程序中,我需要检查是否已经生成一组值为2.5 * 10 ^ 9的值。我期望生成大约一半的集合,并需要有一个快速的方式来检查和更新它。 bitset在我看来是一个好主意,因为它不需要太多的内存(每个值1位),速度快。 问题是,当我定义我的集在我的班里,我有一个细分错误,因为尺寸太大(它适用于更小的尺寸)。 private: std :: bitset ..
发布时间:2016-10-14 21:43:25 C/C++开发

如何将bitset数据写入文件?

我有一个std :: bitset,我想写入一个文件,位为位,但当然fstream的写函数不支持这一点。我不能想到另一种方式,除了将每个8位组转换为使用字符串和写的字符... 任何人都知道一个好的方法? p> 解决方案 尝试: include #include int main(){ using namespace std; ..
发布时间:2016-10-14 20:41:15 C/C++开发

将字节数组转换为Bitset

我有一个由随机数生成器生成的字节数组。我想把它放入STL bitset中。 不幸的是,Bitset看起来只支持下面的构造函数: 1和0的字符串,如“10101011” 无符号长整型。 (我的字节数组会更长) 现在我想到的唯一解决方案是逐位读取字节数组,一个1和0的字符串。有没有人有更有效的解决方案? 解决方案 (不知道模板魔术在这里是否如我所料,我在C ++中生锈了。) ..
发布时间:2016-10-13 11:26:31 C/C++开发

如何实现在C位集?

我一直使用位集合在Java中,我班希望做类似的事情在C.我想我会做手工为C.大部分的东西是什么将是一个有效的方式来实现? 字节的bitset [] 也许布尔位集[] 解决方案 CCAN 有一个bitset实现,你可以使用:的 ..
发布时间:2016-08-17 22:25:59 C/C++

升压来,dynamic_bitset - 把一个整数值成一个范围位

我有一个7个字节/ 56位的bitset是在建设的第一个位设置一个: 的boost ::来,dynamic_bitset&LT;&GT; B(56,1); 施工结束后,我想通过15将一个整数值(比如2019)到第4位我很好奇,如果有升压内一个简单的方法来做到这一点没有位操作?基本上,我想一个范围位设置为一个整数值,我知道小到足以放入那些位。感谢您的任何建议。 解决方案 的的boost : ..
发布时间:2016-08-12 18:52:59 C/C++开发

从位集到BITSET上提振无序(井)图

我想使用的缓存,通过升压转换器的实施 unordered_map ,从来,dynamic_bitset 到来,dynamic_bitset 。的问题,当然,是有从位集没有默认哈希函数。它似乎并不像一个概念性的问题,但我不知道如何制定出的技术性。我应该怎么办呢? 解决方案 我发现了一个意想不到的解决方案。原来提升有一个选项的#define BOOST_DYNAMIC_BITSET_DONT_ ..
发布时间:2016-08-12 18:32:41 C/C++开发

串联升压::来,dynamic_bitset或std :: bitset的

什么是连接2位集的最佳方式? 例如我已经得到了 的boost ::来,dynamic_bitset&LT;&GT;测试1(标准::字符串(“1111”)); 提高::来,dynamic_bitset&LT;&GT;测试2(标准::字符串(“00”)); 他们应该被连接成一个THRID比特集TEST3然后持有 111100 解决方案应该使用boost ::来,dynamic_bitset ..
发布时间:2016-08-12 17:18:39 C/C++开发

是否有一个deque类在C ++中的BitSet?

我试图来存储一个非常大的搜索屏蔽带位的过滤器。 两者的std ::矢量&lt;布尔&GT; 和和std :: bitset&LT; N&GT; 存储他们的布尔重新presentations为位,这是一个正常的布尔不同通常是一个字符或的int32_t 的大小。 问题是这两个数据结构存储它们的元素在内存中一个巨大的块。该操作系统是为请求太大块让我生气。有一件事的std :: deque的&LT;布 ..
发布时间:2016-08-12 09:29:36 C/C++开发

是使用std ::矢量&lt的;布尔&GT;在C ++中可以接受的对象,或者我应该使用的方法吗?

我用比特(我拿着位的三维数组,所以尺寸增大立方 - 不承担任何小于512位),用户自定义的数量的工作,并需要单独翻转他们每人。现在,只需一台电脑上,我使用了布尔类型,因为内存是不是一个问题。我打算在code移动到微控制器在未来,所以处理能力和存储器需求可能是一个问题。现在虽然,我只是想速度。 然后我发现从 C ++ STL 和std :: bitset 对象/ A>,但我不能在运行时定义一个bi ..
发布时间:2016-08-12 09:11:40 C/C++开发

独家或N位集之间

我实现使用位集在Java程序,我被困在下面的操作: 给定N位集返回一个位集合与0,如果有多于1之一的所有位集,否则为1 作为一个例子,假设我们有这3套: 10010 01011 00111 11100期望的结果 有关以下几组: 10010 01011 00111 10100 00101 01000期望的结果 我试图做到这一点的独家使用逐位 ..
发布时间:2016-08-07 20:01:00 Java开发

java.util.BitSet中 - 集()如预期不起作用

我缺少的东西非常明显?抑或只是在世界上没有人实际使用java.util.BitSet中? 下面的测试失败: @Test 公共无效testBitSet()抛出异常{ 位集合B =新的BitSet(); b.set(0,真); b.set(1,FALSE); 的assertEquals(2,b.length个()); } 这真是我不清楚我为什么不跟长度为2的位 ..
发布时间:2016-08-07 20:00:19 Java开发

按位的memmove

什么是实现按位的最佳方式 memmove与?该方法应该采取额外的目标和源位偏移和数量应该是位了。 我看到ARM提供了非标准的 _membitmove ,这不正是我需要的,但我找不到它的来源。 绑定的BitSet中包含的 isc_bitstring_copy ,但它的效率不高 我知道,C标准库不提供这样的方法,但我也无法找到任何第三方code提供了类似的方法。 解决方案 下面是部分 ..
发布时间:2016-08-07 20:00:13 开发方法

比特集,并从整数/长

如果我有,我想上执行位操作整数,我怎么可以加载它变成一个java.util.BitSet中?我怎样才能将其转换回int或长时间?我不那么在意BitSet的大小 - 它永远是长32或64位。我只是想使用set(),清(),nextSetBit()和nextClearBit()方法,而不是位运算符,但我无法找到一个简单的方法来初始化位以数字类型设置。 解决方案 以下code创建一个位从长期的价 ..
发布时间:2016-08-07 19:37:26 Java开发