I Have
NSData *object1
和另一个NSData *object2
。我如何比较这些对象的相似程度?例如:Object1 与 Object2 的相似度为 - 99%。谢谢。
获取两种情况下的字节并迭代检查其中有多少字节相等。
uint8_t* bytes1 = (uint8_t*)[object1 bytes];
uint8_t* bytes2 = (uint8_t*)[object2 bytes];
NSUInteger sameCount = 0;
for (NSUInteger i = 0 ; i < MIN([object1 length], [object2 length]) ; ++i)
{
if (bytes1[i] == bytes2[i])
{
sameCount++;
}
}
double fractionSame = (double) sameCount / (double) MIN([object1 length], [object2 length]);
上面假设如果一个数据比另一个数据长,则您不关心超出的部分。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)