精灵哈希算法 (Elf Hash) 可以把任意长度的数据转换成int数字
2010-07-26 10:36
323 查看
unsigned int ELFHash(char* str) { unsigned int hash = 0; unsigned int x = 0; while(*str) { hash = (hash << 4) + (*str++); if((x = hash & 0xF0000000L) != 0) { hash ^= (x >> 24); hash &= ~x; } } return hash & 0x7FFFFFFF; }
相关文章推荐
- 语言小知识-处理数据时 Byte[] 尽量转换为 int[] 防止数字大小越界,变为负数
- Java 任意长度byte数组转换为int数组
- tensorflow中的seq2seq例子为什么需要bucket? 有关tensorflow 的sequence2sequence例子,为什么需要用到buckets,rnn不是可以处理任意长度的数据吗
- 给定一个带通配符问号的数W,问号可以代表任意数字。 再给定一个整数X,和W具有同样的长度。 问有多少个整数符合W的形式并且比X大?
- 使用正则表达式将任意长度的浮点数字的字符串转换成百分数
- null可以转换成任意非基本类型(int/short/long/float/boolean/byte/double/char以外)
- 打印流printStream:打印流可以打印任意数据,而且打印数据之前会先把数据转换成字符串再进行打印
- 给定一个带通配符问号的数W,问号可以代表任意一个一位数字。 再给定一个整数X,和W具有同样的长度。 问有多少个整数符合W的形式并且比X大?
- 编程实现任意长度整数的加法(整数可以长度超出C++中int范围)
- 使用Java 语言可以方便的把任意对象转换成json格式的数据
- 算法实战:给定一个带通配符问号的数W,问号可以代表任意一个一位数字。 再给定一个整数X,和W具有同样的长度。 问有多少个整数符合W的形式并且比X大?
- 将一个长度最多为30位数字的十进制非负整数转换为二进制数输出
- PHP数据类型转换(字符串转数字,数字转字符串)
- Java数据类型中String、Integer、int相互间的转换
- Java数据类型中String、Integer、int相互间的转换
- javascript 中string 型数据转换成int类型
- PHP数据类型转换(字符转数字,数字转字符)
- 基本数据型态转换成 String,String 转换成 数字的基本数据型态
- 常用数据类型对应字节数,int长度
- 详解C语言中的char数据类型及其与int类型的转换