The biggest problem with this approach is that so many developers do this, if you use a third-party library, you are likely to run into a conflict of symbol names or multiple names for the same types. It would be wise to stick to the standard implementation provided by C99 stdint.h.
If your compiler does not provide this header (such as VC ++), create one that complies with this standard. For example, for VC ++ you can find http://msinttypes.googlecode.com/svn/trunk/stdint.h
In your example, I see a small point for determining floating point types of a certain size, since they are usually closely related to the target FP equipment and the view used. In addition, the range and accuracy of the floating point value is determined by the combination of the exponent width and significant width, so the total width alone does not mean much or does not guarantee compatibility between platforms. As for single and double precision, there is much less variability on different platforms, most of which use IEEE-754 representations. On some 8-bit compilers, float and double are both 32-bit, and long double on x86 GCC is 80 bits, but only 64 bits in VC ++. X86 FPU supports 80 bits in hardware (2) .
source share