Мне нужно хеш-значение, рассчитанное по IP-адресу и номеру порта. Я нашел следующий пример, и через trail я вижу, что он возвращает трехзначное хеш-значение, которое мне подходит.
Однако я хотел бы знать, что происходит, чуть подробнее, и мне трудно разобраться в этом.
Вот фрагмент кода:
((addr.s_addr ^ (addr.s_addr>>8)^ntohs(port) & 255);
addr.s_addr - это длинная строка без знака (32 бита).
Порт без знака короткий (16 бит).
Значение IP-адреса 192.168.50.70 и номер порта 60049 возвращают хеш-значение 249 (при выводе с% d).
Может ли кто-нибудь помочь мне понять, что на самом деле делает операция? :)
Спасибо.
С уважением
Andreas