百科问答小站 logo
百科问答小站 font logo



请问这段代码是什么意思,据说能让人月入过w? 第1页

  

user avatar   lu-mi-ya-56 网友的相关建议: 
      

这是DJB2 hash算法,用途将一个字符串映射为一个整数,由Daniel J. Bernstein在1991年发明……

       hash(unsigned char *str) {     unsigned long hash = 5381;     int c;      while (c = *str++)         hash = ((hash << 5) + hash) + c; /* hash * 33 + c */      return hash; }     

介绍可以看这里

Written by Daniel J. Bernstein (also known as djb), this simple hash function dates back to 1991.
Hash functions have wide applications in computer science and in cryptography. They are used to map a potentially large amount of data to a number that represents it.
For example, the hash function from this code snippet maps Hello to 210676686969, but Hello! to 6952330670010. Despite the fact there’s only one character different (the exclamation mark), the number returned is completely different.



  

相关话题

  如何看待《红色警戒》代码在 GitHub 上开源?会有哪些影响吗? 
  不准备深入学习编程前提下,能最快上手制作 win 端简单软件的语言是什么? 
  在Windows下用VIM来写代码,会不会很蛋痛? 
  ARM 版处理器的 MacBook 推出后,你会选 X86 版还是 ARM 版? 
  为什么c/cpp语言的函数好像没有按照驼峰命名法呢? 
  这是什么文字代码? 
  程序员们有什么好的编程习惯? 
  新手该如何使用 GitHub? 
  为什么多数编程语言的赋值在左边?是有什么历史渊源吗? 
  如何读懂很长的fortran代码? 

前一个讨论
为什么现在的男孩子谈恋爱都喜欢白嫖?
下一个讨论
有律师执照的律师,真的可以随时说出某个人违反了什么法、第几条吗?





© 2024-06-11 - tinynew.org. All Rights Reserved.
© 2024-06-11 - tinynew.org. 保留所有权利