Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 什么是windows字节到mb的转换?_C#_Windows_Filesize_Fileinfo - Fatal编程技术网

C# 什么是windows字节到mb的转换?

C# 什么是windows字节到mb的转换?,c#,windows,filesize,fileinfo,C#,Windows,Filesize,Fileinfo,什么是windows converion用于将字节转换为MB? 我的文件夹的计算大小为(1568653060字节) 但根据我的计算 // Return total size in MB int float mbValue = (b / 1024f) / 1024f; //mbValue = 1495.98413 //should return 1496 mb 但是windows会返回… 大小:1.45 GB(1568653060字节) 磁盘大小:1.46 GB(156868080字节) //

什么是windows converion用于将字节转换为MB?
我的文件夹的计算大小为(1568653060字节)

但根据我的计算

// Return total size in MB int
float mbValue =  (b / 1024f) / 1024f;
//mbValue = 1495.98413
//should return 1496 mb
但是windows会返回…
大小:1.45 GB(1568653060字节)
磁盘大小:1.46 GB(156868080字节)
//将其转换为MBs将为我提供1460 MB

其他36Mb从何而来?
我只需要它是准确的…我应该坚持哪种方法?

设置用户文件上载限制Windows资源管理器显示兆字节,但计算兆字节,因此每个连续单位除以1024是正确的


磁盘上的大小包括由于技术原因必须成为文件一部分的空间,如最后一页未完全满时的空间。它还包括除
$DATA
之外的其他流(如果存在)。它甚至可以为完全符合其目录项的文件显示0字节。但一般来说,这个数字总是与文件内容大小不同。

当你说“windows返回…”时,我假设你指的是文件资源管理器。在这种情况下:,。对于我来说,1568653060/1024/1024=1495.98——因此它取整了google使用的是1000而不是1024。很久以前,有人认为有必要区分Mega(1.000.000)和Mebi(2^20)字节。这使得一些人相信使用1.000作为表示字节的因子,而不是公认的1024(2^10)是明智的。如果你不想让别人嘲笑你,就坚持使用1024。@ManfredRadlwimmer我在哪里用过1000?…float mbValue=(b/1024f)/1024f;。。。谷歌就是一个例子,问:为什么我的计算与windows文件不同explorer@JohnGoggle使用1000(如果指定MB而不是MiB),则使用1024,额外的MB来自磁盘上的每个文件,四舍五入到下一个完整段(这就是磁盘上的大小和大小不同的原因)
// Return total size in MB int
float mbValue =  (b / 1024f) / 1024f;
//mbValue = 1495.98413
//should return 1496 mb