How does gcvt function in c convert float to string?Please explain the precision losses that can occur in this process.