百科问答小站 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.



  

相关话题

  为什么这两年没再听说有什么大规模的电脑病毒爆发? 
  C 语言自带函数返回值为指针类型的数组为什么不需要释放内存? 
  C#为什么非要把函数叫方法? 
  为什么我的代码运行后总是会变位? 
  在人工智能时代,孩子学编程有什么好处? 
  为什么有一些程序员认为开源有助于发现软件中的缺陷? 
  什么是寄存器压栈?栈是内存的一部分,寄存器是cpu一部分,怎么压? 
  for 循环为什么不支持小数? 
  各种编程语言的成功/代表产品有哪些? 
  学会了 C 语言真的可以开发出很多东西吗? 

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





© 2025-01-31 - tinynew.org. All Rights Reserved.
© 2025-01-31 - tinynew.org. 保留所有权利