Ja, diese Buchstaben geben den Typ des Literals an. L steht für long. Es gibt auch noch U für unsigned int, UL für unsigned long, f für float, LL für long long, ULL für unsigned long long und wahrscheinlich noch ein paar mehr die ich jetzt vergessen habe.
Warum es bei 3600L/4096 eine Rolle spielen sollte welchen Typ die 3600 hat verstehe ich auch nicht. In C++ wird diese Technik gerne eingesetzt um bestimmte Überladungen von Funktionen auszuwählen. Mit etwas mehr Informationen zum Code kann man vielleicht einen Grund finden, warum dies hier eingesetzt wird.