C# 什么是windows字节到mb的转换?
什么是windows converion用于将字节转换为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字节) //
我的文件夹的计算大小为(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