Probably "0?". Although an int with leading zeros is usually an octal number, so window's rational fails me.
You are right. From the C99 standard:
The exponent always contains at least two digits, and only as many more digits as necessary to represent the exponent. If the value is zero, the exponent is zero.
Both solutions seem fine to me. Also, as these couple of tests were added to check for int overflow and we no longer do any int operations, removing them wouldn't be a big loss.