En gros le "-1" devrait être "compris" en 255 quand tu fais "(unsigned)", et il l'utilise comme indice dans un tableau de 0 à 255. Or, sa valeur n'est pas transformée et reste "-1", un indice qui n'est pas dans le tableau > Crache mémoire.
C'est tout ce qu'il y a à comprendre.
(oui je sais on s'en fout toujours autant mais tant pis
)