These large data types cannot be output by printf or handled in any other meaningful way.
long long x = 10000000000000;
printf("%lld\n", x);
...works with any real compiler.
(Sidenote: MorphOS exec/RawDoFmt() supports "ll" and "L" for 64bit data aswell (and thus dos/Printf and friends). Also, the next release of MorphOS libnix supports 64bit formatting for printf and scanf family functions. ixemul supports 64-bit printf/scanf functions already, for AmigaOS too.)
I'd rather suggest to determine how many blocks fit into one kilobyte or one megabyte and output the free space in KB or MB.
That's a good suggestion. Usually this is enough.
Here is an example how to format such numbers:
largefmt.c