【问题标题】:Bitwise operations on big bit-vectors大位向量的按位运算
【发布时间】:2014-06-06 20:49:14
【问题描述】:

我需要对位数组运行按位运算(和、或、异或、移位、集合等)。到目前为止,我已经使用 128 位类型来执行此操作,但现在我已经满足了使用更大数组的需要。经过一番搜索,我发现 Accelerate Framework 中的 CFBitVector 和 vBigNum 可以存储这么大的数字,但似乎它们没有我想要的操作。

谁能帮我解决这个问题?

使用的语言是 Objective-C 或 C

感谢您的支持

【问题讨论】:

    标签: objective-c c bitwise-operators


    【解决方案1】:

    您可以使用常规数组并将它们解释为位数组。假设您使用一个字符数组,所以每个元素都有 8 位。如果您想访问第 231 位,您会在数组的第 231/8=28 个元素中找到它(第 231%8=该数组的第 7 位)。当您处理单个位时,这很容易。如果你使用掩码和移位,这并不容易,但你可以编写一些函数来做到这一点。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 2020-02-29
    • 2012-04-23
    • 1970-01-01
    相关资源
    最近更新 更多