存储大小从 1000 的倍数转换为 1024 的倍数

Storage Size Conversion from multiples of 1000 to multiples of 1024

我有一个任务必须用 Java 完成。 任务是将给定的硬盘驱动器大小从 1000 的倍数转换为 1024 的倍数。假设如果输入为 752 MB,则输出将为 717.16 MiB。

我的问题是我无法找到此任务的数学解决方案。

这里是转换后的数据集

一旦计算出 MB 与 MiB 代表的字节数,这个问题实际上就很简单了。之后你只需将它相乘即可。

MB = 1000 * KB = 1000 * 1000 B = 1,000,000 B
MiB = 1024 * KiB = 1024 * 1024 B = 1,048,576 B

x MB = y MiB

x * MB / MiB = y
x / 1.048576 = y

您可能会将其视为以 10 为基数与以 2 为基数而感到困惑。真的根本没有 base-x 转换,因为你想要做的是从 MB 到 MiB 的简单单位转换。