I need to convert a floating point number to an equivalent string in decimal (or other base). Conversion at first needs to be done in the format xE+0
where x
is the floating point number.
The idea I have is to first truncate the floating point number into a temporary integer and then convert that integer into string, and then consider the fractional part, multiply it with 10
while the fractional part does not become 0
. After the fractional part is transferred into the left side of the decimal point, apply the integer to string function again and convert the fraction part to string. Is there a better way, which will be faster than this? Will this method induce any kind of side effects?
To convert the floating point number into exponential representation shall I do the same as above and then adjust the power? Or directly bitmask the IEEE 754 floating point representation and convert each part into string.
Note: No other functions could be used, because I have access to absolutely no library functions. This code goes into a toy kernel.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…