Typedefs such as int64_t are declared by AVR libc and aren't specific to the Arduino platform. There's a reference page on them here.
Answer from xlem on Stack Overflowi have a code where i do : "unsigned long testDuration=180*1000;
but it puts an insanely large number in the variable. Does anyone know how to do that ? Because if i put 180000 it works.
Arduino long long int doc - Stack Overflow
programming - Difference between data type int and long on Arduino - Arduino Stack Exchange
Arduino DUE & long variables
How big is a long?
On the Arduino (AVR models) an int is 16 bits, not 32 bits. Thus it goes from -32768 to +32767.
That is different from long which is 32 bits.
According to the C language specification, int must be at least 16 bits or longer and long must be at least 32 bits or longer.
It is OK for a compiler to implement int as 32 bits or even 64 bits. It is OK for a compiler to implement long as 64 bits or longer. But it is not allowed for a compiler to implement long as 16 bits.
So when to use which type?
If the values you will be working with can be represented within 16 bits then it's OK to use int. If you need more than 16 bits use long. If you need more than 32 bits use long long.
Do not be caught up with compiler and/or CPU specifics. As mentioned by others, even within the same product range, Arduinos, there are 16 and 32 bit CPUs available. Instead, only trust what the standard guarantees.
The full specification of types in C are:
charmust be at least 8 bitsintmust be at least 16 bitslongmust be at least 32 bitslong longmust be at least 64 bits
Note: It is perfectly legal for compilers to implement char, int, long and long long as 64 bits. This is in fact not uncommon among DSPs.