bitvector

    1热度

    2回答

    我想解释 std::vector<unsigned int> numbers 作为位向量,即numbers[0] MSB为第1位,的numbers[1] MSB为第33位,依此类推。我想在这个向量中找到其中的所有序列,并将相应的位置存储在数据结构中。 (另外的单个一个定义为这里序列) 例如:我有15和112存储在数字的值。因此,位29至32和位58至60等于1。 挑战是优化此功能的运行时间。

    1热度

    1回答

    我正在寻找关于如何将数学方程式编码为cnf-sat形式的想法,以便他们可以通过像MiniSat这样的开源SAT求解器来解决。 所以,我怎么转换是这样的: 3X + 4Y - Z = 14 -2x - 4Z < = -6 X - 3Y + Z> = 15 成为可以通过使用SAT求解器求解的命题式。 任何建议,因为我很难过?

    0热度

    1回答

    是否有任何有效的方法从位向量中提取位号i,而i有Int数据类型?换句话说,是否有任何有效的smt脚本可以完成以下脚本的功能? (declare-fun int-index() Int) (assert (and (>= int-index 0) (<= int-index 21))) (declare-fun bv1() (_ BitVec 22)) (define-fun getbit (

    2热度

    1回答

    我无法理解这两个函数中的位逻辑。 我不知道为什么我们的状态检查(位向量&掩码)​​== 0 而且,为什么我们罩或与该位向量,当条件满足和和bitVector与〜掩码否则? 为什么有这样一个属性,可以“通过从整数中减去一个值并与原始整数进行逻辑与运算来确定刚刚设置的一位”? Full code here。 /* Toggle the ith bit in the integer. */ publi

    2热度

    1回答

    理想情况下,可能'或'两个数字表示为位矢量,但我不能够。请告诉我们,如果没有在代码中的一些错误或别的东西 line1 = BitVec('line1', 1) line2 = BitVec('line2', 1) s = Solver() s.add(Or(line1, line2) == 0) print s.check() 给出的错误是 error: 'type error' W

    0热度

    2回答

    我需要在加密方案中使用位操作,但是,当我将变量和函数转换为BitVector(bitstring/int/textstrings =“”)时,结果是一个非常长的位向量,在长度在成千上万。现在,这减缓了我在这些BitVectors上的加密和操作。我该如何克服这一点? :(方式 比如我使用的是位向量: msg = BitVector.BitVector(textstring=message)^h1

    1热度

    2回答

    我想写一个帮助函数,它将位索引数组转换为符合OptionSet的类。 func getOptionSet<T: OptionSet>(bitIndexes: [Int64]) -> T { var result: Int64 = 0 for index in bitIndexes { result |= 1 << index } return T

    3热度

    1回答

    :变量x由 定义为int排序(声明const的X智力) 是否有任何与x转换为位向量的排序方法?因为有时x涉及位操作,例如&,|,^ int理论无法处理。 我不想在开始时将变量x定义为位向量,因为我认为int理论支持的操作(例如,+, - ,*,/),除了位操作运行速度远远快于支持的操作bitvectors。 所以实际上,我想要将int转换为bitvector sort或vise vesa。 谢谢。

    1热度

    1回答

    我试图有效地存储和访问我的SQL Server数据库上的数千人的布尔值(以表示“可用性”)。当他们不可用时,他们会给我日期,我需要代表他们并按照计划以编程方式处理它们。 换句话说,我需要能够跟踪每个人每年的可用性的每一天(简单的是/否或真/假就足够了)。 我遇到了Bitvector32结构,并让它工作非常好(请参阅链接了解背景:How do I convert a SQL Server 'Int'

    18热度

    3回答

    我注意到在运行以下代码时,矢量比bool数组慢得多。 int main() { int count = 0; int n = 1500000; // slower with c++ vector<bool> /*vector<bool> isPrime; isPrime.reserve(n); isPrime.assign(n, tru