Что такое конвертация окон для преобразования байтов в MB?
Рассчитанный размер моей папке (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
НО окна возвращается ....
Размер: 1,45 GB (1,568,653,060 байт)
Размер на диске: 1,46 ГБ (1 568 686 080 байт)
// Преобразование этого в MBs дает мне 1460 МБ ....
где еще 36Mb вышли из?
Мне просто нужно, чтобы это было точно ... к какому методу я должен придерживаться?
Ограничения на загрузку файлов пользователей
Когда вы говорите * «окна возвращаются ...» * Я предполагаю, что вы имели в виду * Проводник *. В этом случае: [Как Explorer вычисляет «Размер на диске»?] (Https://blogs.msdn.microsoft.com/oldnewthing/20160427-00/?p=93365), [Как Explorer вычисляет информацию о размере папки в подсказке папок?] (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
Когда-то был кто-то, кто считал необходимым провести различие между Mega (1.000.000) и Mebi (2^20) Байты. Это заставляет некоторых людей полагать, что разумно использовать 1.000 в качестве фактора, чтобы обозначить байты вместо хорошо установленного 1024 (2^10). Придерживайтесь 1024, если вы не хотите, чтобы люди смеялись над вами. –