using System;
class Program
{
private static string convert_bytes(long bytes) {
string[] sizes = { "B", "KB", "MB", "GB", "TB", "PB" };
double dbytes = bytes;
int i = 0;
while (i < sizes.Length && bytes >= 1024) {
dbytes = bytes / 1024.0;
i++;
bytes /= 1024;
}
return String.Format("{0:0.##} {1}", dbytes, sizes[i]);
}
static void Main() {
Console.WriteLine(convert_bytes(554432));
Console.WriteLine(convert_bytes(3554432));
Console.WriteLine(convert_bytes(33554432));
Console.WriteLine(convert_bytes(333554432));
Console.WriteLine(convert_bytes(3333554432));
Console.WriteLine(convert_bytes(33333554432));
Console.WriteLine(convert_bytes(333333554432));
Console.WriteLine(convert_bytes(3333333554432));
Console.WriteLine(convert_bytes(33333333554432));
Console.WriteLine(convert_bytes(333333333554432));
Console.WriteLine(convert_bytes(3333333333554432));
}
}
/*
run:
541.44 KB
3.39 MB
32 MB
318.1 MB
3.1 GB
31.04 GB
310.44 GB
3.03 TB
30.32 TB
303.16 TB
2.96 PB
*/