Hay una función hash.

Jaja, muy simple. Hashf (16) = 1, Hashf (256) = 16. Pero hay algún problema con su función. No hay ";" en la declaración de devolución.

Haga lo siguiente:

Debido a que el parámetro es un entero corto sin signo, es un entero de 16 bits. Por lo tanto

16 binarios: 0000000, 00010000.

Desplaza cuatro dígitos a la derecha: 0000000000001.

Ese es el decimal 1.

Divide entre 256 para encontrar el resto, que por supuesto es 1.

De manera similar,

256 binarios: 00000001, 00000000.

Mover cuatro posiciones hacia la derecha:

00000000,00010000

Eso es 16 en decimal.

Divide entre 256 para encontrar el resto, que por supuesto es 16.

¿Qué? ¿Es suficiente?