什么是字节到 MB 的 Windows 转换



什么是将字节转换为MB的Windows converion?
我的文件夹的计算大小为 (1,568,653,060 字节)

// 1.
// Get array of all file names.
string[] a = Directory.GetFiles(path, "*.*");
// 2.
// Calculate total bytes of all files in a loop.
long b = 0;
foreach (string name in a)
{
// 3.
// Use FileInfo to get length of each file.
  FileInfo info = new FileInfo(name);
  b += info.Length;
}
//b = 1568653060
//However, googles conversion...convert 1568653060 bytes to mb
//returns 
//1568653060 b = 1568.65306 mb

但根据我的计算

// Return total size in MB int
float mbValue =  (b / 1024f) / 1024f;
//mbValue = 1495.98413
//should return 1496 mb

但是窗户回来了。
大小: 1.45 GB (1,568,653,060 字节)
磁盘大小:1.46 GB(1,568,686,080 字节)
将其转换为 MB 会给我 1460 MB....

其他36Mb从何而来?
我只需要确切地说...我应该坚持哪种方法?
设置用户文件上传限制

Windows 资源管理器显示兆字节,但计算兆字节 因此,为每个连续单位除以 1024 是正确的。

磁盘大小包括由于技术原因必须成为文件一部分的空间,例如最后一页(如果它没有完全填满)。它还包括其他流,而不仅仅是$DATA(如果存在)。它甚至可以为完全适合其目录条目的文件显示 0 字节。但作为一般规则,该数字将始终与文件内容大小不同。

最新更新