例如,我刚刚下载了一个 4.67 GiB 的文件。
在 Windows 10 中,当我进入属性时,它会列出以下内容:
显示为5,023,979,520字节
磁盘大小为5,023,981,568字节
在 Linux 上,它被列为5,023,979,520字节。
当您使用在线计算器将4.67 GiB转换为字节时,您会得到5014374318.08。
谁能解释为什么这里有区别?我猜这可能是各个文件系统增加的开销?NTFS 和 EXT4 显示相同的大小。
例如,我刚刚下载了一个 4.67 GiB 的文件。
在 Windows 10 中,当我进入属性时,它会列出以下内容:
显示为5,023,979,520字节
磁盘大小为5,023,981,568字节
在 Linux 上,它被列为5,023,979,520字节。
当您使用在线计算器将4.67 GiB转换为字节时,您会得到5014374318.08。
谁能解释为什么这里有区别?我猜这可能是各个文件系统增加的开销?NTFS 和 EXT4 显示相同的大小。
您对 GB (Gigabyte) - 1000 和 GiB (Gibibyte) - 1024 感到困惑。请参阅Wikipedia 上的“gigabyte”。
如果您取 5,023,979,520 并连续除以 1024,您将得到 4.6789455413818359375 GiB - 给或取分数。
对于磁盘上的大小,您必须考虑块大小,其中文件的剩余部分,即使只有几个字节,也会占据一个完整的块。许多文件系统都会发生这种情况。然而,有一些文件系统将使用另一种方法来存储这几个剩余字节,通常在 inode 结构中,尤其是在 Linux 上。
因此,如果您将 5,023,981,568 除以 4,096,您将得到 1,226,558。这意味着该文件占用了确切数量的 4,096 字节块。
5023979520 B 是精确值。它被转换为 gibibytes 并且显然四舍五入(向下)到两位小数。结果为 4.67 GiB,由于四舍五入,它是一个近似值。
5023979520 B 是准确的,4.67 GiB 是近似的。不是相反。
如果反过来,即如果您将 4.67 GiB 视为精确值并将其转换为字节,那么是的,您将得到 5014374318.08 B。
现在,如果您首先意识到 4.67 GiB 是一个近似值,您就会承认这个 5014374318.08 B 一定是一个相似程度的近似值。事实上 5014374318.08 = 5023979520 ±1%。
正如 Kamil Machiorowski 指出的那样,您混淆了 Giga- 和 Gibibytes。5023979520 字节 = 4.678945541381843 千兆字节。下载站点四舍五入不正确 - 那是 4.68 GiB。
在磁盘上,大小不是按位或字节分配的,而是按簇分配的。例如,如果您将一个 100 字节的文件存储在一个簇大小为 512 字节的磁盘上,则单个文件将占用整个簇,即“磁盘上的大小”将为 512 字节。有关更详细的说明,请参见partitionwizard.com 中的这篇文章,例如。