#L0013. 单位换算
单位换算
题目描述
小杨拿到了一个 U 盘,里面存储了若干个文件,每个文件的大小都标记为某种单位(GB、MB、KB 或 B)。
现在他需要将某个文件的大小从一种单位换算成另一种单位,请你帮助计算其精确值。
单位之间转换的规则如下:
$$1\text{GB}=2^{10}\text{MB}=2^{20}\text{KB}=2^{30}\text{B}$$也就是说,所有单位之间按照每次乘除以 的方式进行转换。
你需要根据输入字符串,计算出对应问号位置的数值。
输入格式
输入一行字符串,表示一个单位换算请求,格式为:
{number}{unit1}=?{unit2}
其中:
{number}是一个 到 之间的整数;{unit1}和{unit2}分别是两个单位,只能是GB、MB、KB、B中的一个;?为所求的数值。
输出格式
输出一个实数,表示换算后的结果。当你的输出与标准答案之间的绝对误差或相对误差小于 时视作正确。
样例
64MB=?KB
65536.000000
1024B=?KB
1.000000
样例解释
样例 1 中, MB 换算成 KB 为 KB,保留 位小数输出 65536.000000。
样例 2 中, B 换算成 KB 为 KB,保留 位小数输出 1.000000。
数据范围与约定
| 子任务 | 分值 | 限制 |
|---|---|---|
unit1 与 unit2 相同 |
||
unit2 恒为 B |
||
| 无特殊限制 |
对于 的数据,输入保证合法,等号左边的数字是一个 到 之间的整数,且字符串中不会出现非法字符或负数。
相关
在下列比赛中: