printing 64bit numbers with printf


I’m trying to print 64bit number using printf but it does not work.
This code prints number as -2147483648 , it looks that i is not recognized like 64bit but 32bit in printf.
I tried to use int64_t and same result.

If i do sizeof(i) it recognize that is 64bit number.

long long int i;

i = (long long int)2147483648L;

printf (" %lld 

", (long)(long)(int)i);


Hello , Check the below link

Thanks for help , this is standard that should work on any GCC but it does not in NetOS,.
I created custom function for this that solves my problem.