【问题标题】:How to create a bit array objective C如何创建位数组目标 C
【发布时间】:2013-03-04 19:19:49
【问题描述】:

我想为数组中的项目创建一个位数组或位向量,以便我可以创建一个二进制指纹来与对象的指纹进行比较。

这是一个例子:

基础指纹... 所有“可用”颜色

  1. colorsArray[蓝、红、白、绿、橙];

  2. 把它变成一个二进制数组(或其他)

  3. 这是结果 = masterPrint[1,1,1,1,1];

  4. 现在我有一个单独的对象,其中包含红色和蓝色 (object[red,blue])

  5. 这个对象的指纹是对象的 print = [1,1,0,0,0];

  6. 比较两个打印,主打印 [1,1,1,1,1] 和对象打印 [1,1,0,0,0];

  7. 结果是两个匹配 40%

我怎样才能做到这一点?谢谢

【问题讨论】:

    标签: objective-c bitarray


    【解决方案1】:

    更好的选择是 CFMutableBitVector

    CFBitVector 及其派生的可变类型 CFMutableBitVector 管理位值的有序集合,它们是01

    CFBitVector 创建静态位向量,CFMutableBitVector 创建动态位​​向量。

    参见类参考here

    【讨论】:

    • 我已阅读此参考资料,但我不确定如何获取一个数组并将其解析为这个。你有任何示例代码吗?谢谢
    • 如果回答对您有帮助,请采纳。自己编写代码,然后出现任何问题,将其作为一个好问题发布。谢谢
    • 我会的,我正在浏览它,它看起来很有趣,但必须有一个更简单的方法,看起来代码太多,只是为了向 1,0 数组添加一些值.. .
    • 根据您的应用程序,可能存在使用 C++ 提供的众多位向量实现之一的争论 - 您可以轻松地与 Objective-c 交互。性能可能是这样做的一个很好的理由,但更强有力的情况可能是选择高性能算法,您可以将其应用于来自 STL 中 algorithm collection 的数据。
    猜你喜欢
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-02
    相关资源
    最近更新 更多