MB和字节之间的文件大小差异



我正在尝试了解以下问题。我正在阅读文件的文件信息,如下所示:

FileInfo info = new FileInfo(path);

然后,代码返回 16599774 在我执行info.Length时的文件。当我将字节转换为 MB 时,我得到 15.8 MB

有人可以向我解释字节中的大小而不是MB?

通常,文件系统计算Mebibytes(MIB(中的文件大小,但报告结果为Megabytes(MB(。这些单元之间的区别在于,MB是10个基本单元,正如您预期的那样,它具有1000000个字节(100万个(。但是MIB是一个基本2单元,其中包含1024*1024字节(1048576字节(。如果您将16599774字节划分为1048576(每种Mebibyte字节(,则将获得15.8 Mebibytes(MIB(。但是再次,OS将此数字报告为Megabytes(MB(。

请注意,通常HDD制造商使用此Base10/Base2 Trick,并报告千兆字节(GB(或TBYTES(TB(中的圆盘尺寸。当您在文件系统中检查高清大小时,您会看到完全相同的大小"减少"。例如。5TB实际上是4.5 tebibytes tib。但是文件系统将向您显示4.5 TB。

我认为您正好是100万字节,但实际上是1兆字节= 1,048,576字节

对于数字信息的数量,Mebibyte是单元字节的倍数。

这是其中的Wikipedia页面。

Mebibyte为2^20字节,或1,048,576字节。您不是要转换为Megabytes,而是转换为Mebibytes。

字节数(16,599,774(除以字节/MIB(1,048,576(= 15.8308 MIB。

最新更新