バイトをMBに変換するWindowsコンバージョンとは何ですか?
を私のフォルダの計算されたサイズがある(1568653060バイト)バイトからmbへのウィンドウ変換は何ですか?
// 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
が、Windowsが返す....
サイズ:1.45ギガバイト(1568653060バイト)
ディスク上のサイズ:1.46 GB(1,568,686,080バイト)
//これをMBに変換すると、1460 MBになります....
他の36Mbはどこから出ていますか?
私はちょうどそれが正確であることを必要としています...私はどのメソッドに固執すべきですか?
ユーザーファイルのアップロードに関する制限を設定します。
あなたが*「windows returns ...」と言うとき*私はあなたが*ファイルエクスプローラ*を意味すると仮定します。その場合、[エクスプローラは「ディスク上のサイズ」をどのように計算するのですか?](https://blogs.msdn.microsoft.com/oldnewthing/20160427-00/?p=93365)[エクスプローラはフォルダサイズ情報をどのように計算しますかフォルダのツールチップにありますか?](https://blogs.msdn.microsoft.com/oldnewthing/20120503-00/?p=7713)、[Explorerがファイルのサイズを決めることができない理由](https:// blogs.msdn.microsoft.com/oldnewthing/20110315-00/?p=11223)。 – IInspectable
私のために私は1,568,653,060/1024/1024 = 1495.98 - それは切り捨てられたGoogleは1000でない1024を使用した。 – BugFinder
メガ(1.000.000)とメビ(2)の区別をする必要があると思った人がいた^ 20)バイト。これは、確立された1024(2^10)の代わりに、Bytesを表すための要因として1.000を使用することが賢明であると信じさせる原因があります。人々にあなたを笑わせたくない場合は1024に固執する。 –