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

时间:2017-06-27 14:13:24

标签: c# fileinfo

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

FileInfo info = new FileInfo(path);

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

有人可以解释大小的字节数而不是MB吗?

3 个答案:

答案 0 :(得分:2)

通常,文件系统以mebibytes(MiB)计算文件大小,但报告结果为megabytes(MB)。这些单元之间的区别在于MB是基本10单位,其具有1000000字节(一百万),如您所料。但MiB是一个基本2单元,包含1024 * 1024字节(1048576字节)。如果你将16599774字节除以1048576(每兆字节字节数),你将获得15.8兆字节(MiB)。但是,OS再次将此数字报告为兆字节(MB)。

请注意,通常HDD制造商使用此base10 / base2技巧并报告光盘大小(千兆字节(GB)或太字节(TB))。当您检查文件系统中的HDD大小时,您会看到完全相同的“减少”大小。例如。 5TB实际上是4.5 tebibytes TiB。但文件系统会显示4.5 TB。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

Mebibyte是数字信息量的单位字节的倍数。

Here是其上的维基百科页面。

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

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