Só que desse jeito ele dá erro, fala q tenho q trocar o short pelo int e ai funciona, mas eu queria saber pq não esta funcionando no short, pois pela lógica deveria funcionar.
O resultado da operação retorna um int, e no caso você tem um short recebendo um int (menor recebendo maior). Portanto, o CAST (short) explícito é necessário.