Ha OK, non c pas une question de trop grand.
parce je n'ai pas compris pourquoi avoir recours au log en base 2
Ben l'intérêt c'est que pour multiplier par W (ce que le programme va devoir faire à chaque instruction) le compilo va juste avoir besoin de faire un décalage logique (assez rapide) au lieu de devoir faire une multiplication (bcp plus lent). Pour les modulos, c'est encore pire : le ET logique est très rapide, mais le modulo est très très lent.
Et à la limite si W et H sont aussi petits (<16) alors tu peux aussi les coder en dur dans ton programme (au lieu de les laisser variables). Ca peut accélérer encore le prog (à condition que W et H soient des puissances de 2), mais tu vas avoir des maps de 256 octets à chaque fois.