例如,假设我对输入1进行散列并输出为8,然后将bit8设置为1,以指示该成员是该集合的一部分。你会如何使用像FNV或Jenkins这样的函数,或者实际上任何返回字符和整数的散列函数。如果这是一个愚蠢的问题,请不要犹豫告诉我,我只是没有得到一些实施。谢谢!
答案 0 :(得分:0)
字符串是字符数组(char数据类型),字符是16位或8位,具体取决于语言是使用utf还是ascii。所以在伪代码中它看起来像这样:
// ord() means ordinal or you could use typecasting. var str: string; b:byte; str = "zoom" b = (byte)str[4]; //delphi i would use b = ord(str[4]); // now b contains the number for the letter m
字符串只是数组,你可以这样使用它们。在java中你只需要使用String.IndextoByte或类似的东西。
我已经写了一篇关于Bloom Filters的教程,如果你有兴趣的话 http://techeffigy.wordpress.com/2014/06/05/bloom-filter-tutorial