我正在尝试了解以下问题。我正在阅读文件的文件信息,如下所示:
FileInfo info = new FileInfo(path);
当我执行info.Length
时,代码会为我的文件返回 16599774 字节。当我将字节转换为 MB 时,我得到 15.8 MB 。
有人可以解释大小的字节数而不是MB吗?
答案 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。