UVA1530 Floating Point Numbers
题目描述
### 题目大意
一个 float 类型的浮点数是由 $16$ 个二进制位构成的。
第一位为符号位,第二至八位为指数,第九至十六位为尾数。

该数表示十进制的 $-10.375$。
- 若符号位为 $1$,则该数为负数。
- 指数减 $63$ 为实际的指数,其底数为 $2$。(如本例中 $(1000010)_2-63=3$)
- 剩下的尾数表示小数点后的二进制位,小数点前则永远是 $1$。

- 所以这个数为十进制下的 $-10.375$,而在编程中,则一般写作 $\texttt{-1.0375e+001}$,不同的编程语言会在 $\texttt{e}$ 是否大写和指数位的前导零个数有所区别。
- 特例:若一个数除了符号位外都是 $0$,则这个数就是 $0$。
输入格式
每行 $16$ 个二进制位。
输出格式
一行 $14$ 个字符,表示该 float 类型浮点数的十进制:
- 第 $1$ 个字符,空格表示正数,$\texttt{-}$ 表示负数。
- 第 $2\sim 9$ 个字符,为一个精确到小数点后 $6$ 位的浮点数。
- 第 $10$ 个字符为 $\texttt{e}$。
- 第 $11$ 个字符为 $\texttt{+}$ 或 $\texttt{-}$ 表示指数的正负。(若指数为 $0$ 则为 $\texttt{+}$)
- 第 $12\sim14$ 个字符为指数,若不足三位则补前导 $0$。
### 样例输入
```
1100001001001100
0011111100000000
1011111110000000
0000000010101010
0011011111100000
1001111011100000
0101011001010101
0100011011101101
0111111111111111
1100001000101100
0000000000000000
1000000000000000
```
### 样例输出
```
-1.037500e+001
1.000000e+000
-1.500000e+000
1.804180e-019
7.324219e-003
-2.182787e-010
1.117389e+007
2.465000e+002
3.682143e+019
-9.375000e+000
0.000000e+000
0.000000e+000
```