I went to direction, because i got this error when compiling, and i didn't do the atol()
error: cannot convert 'char [20]' to 'float' in assignment
a return as long int, then this is 32 bits.
The wrong response value (2147483648) is 32bits.
Therefor changed the line
unsigned long long number = atol(Str);
to
unsigned long long number = atoll(Str);
And did test it, what response i got with this modification
It now gives me a 64bit response, but still different values
The correct value: 7023833275277351321
the value i got with attol(Str): 7023833110349350761