Salve a tutti la domanda di oggi potrebbe essere al quanto banale... (purtroppo )

Perche per avere un range di numeri random da 1 a 6 devo eseguire l'istruzione:

1 + rand() % 6

cioè: se rand restituisce un numero tipo 1403307203 come fa l'espressione:
1 + 1403307203 % 6
a restituire un carattere tra 1 e 6??

Spero di essermi spiegato bene

Grazie di tutto
Andrea