°£´Ü Hash ÇÔ¼ö
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®
ÇöÀçÀ§Ä¡ : Code>C>hash



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.


  1. hash
  2. °£´ÜÇÑ ÇØ½¬ ÇÔ¼ö
  3. yundream
  4. Version 0.2
  5. 2004/02/03


¼³¸í

°£´ÜÇÑ ÇØ½¬ ÇÔ¼öÀÔ´Ï´Ù. ¹ü¿ëÇØ½¬ ÇÔ¼ö´Â ¾Æ´Õ´Ï´Ù. Àú °°Àº °æ¿ì ipÁÖ¼ÒÀÇ ÇØ½¬ Å×À̺íÀ» ¸¸µé±â À§Çؼ­ ÁÖ·Î »ç¿ëÇÕ´Ï´Ù. ÀÎÅÍ³Ý µ¹¾Æ´Ù´Ï´Ù ÁÖÀº Äڵ絥, Ãâó°¡ ±â¾ï³ªÁú ¾Ê´Â±º¿ä.

»ç¿ë¹æ¹ý

int hash(unsigned long key); 
 
  1. key : ÇØ½¬¸¦ Àû¿ëÇÒ °ª
  2. ¸®Åϰª : key¿¡ ´ëÇÑ ÇØ½¬°ª

#include <sys/socket.h> 
#include <netinet/in.h> 
#include <arpa/inet.h> 
#include "hash.h" 
 
int main() 
{ 
    printf("%d\n", hash(inet_addr("127.0.0.1"))); 
    printf("%d\n", hash(inet_addr("248.251.2.1"))); 
} 
 

ÄÚµå

 
#define HASH_SIZE   1024 
int hash(unsigned long key) 
{ 
    key += ~(key << 15); 
    key ^=  (key >> 10); 
    key +=  (key << 3); 
    key ^=  (key >> 6); 
    key += ~(key << 11); 
    key ^=  (key >> 16); 
    return key%HASH_SIZE; 
} 
 

º¯°æ»çÇ×

EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.