Cita:
Iniciado por tksko
los unsigned long soportan hasta 4000000000
Sí, pero el problema es que no has indicado que sea unsigned, como te dice el compilador.
En el estándar C90, sería un signed, por lo que no te cabe más de 2 mil millones, es decir, que te pasas por poco.
Usa lo que te ha indicado Nivel7, o (unsigned long)2123123123