auto format = [](uint64_t b) { std::stringstream ss; ss << std::setprecision(4); if (b >> 40) { ss << double(b) / double(1ULL << 40) << " TB"; } else if (b >> 30) { ss << double(b) / double(1ULL << 30) << " GB"; } else if (b >> 20) { ss << double(b) / double(1ULL << 20) << " MB"; } else if (b >> 10) { ss << double(b) / double(1ULL << 10) << " KB"; } else { ss << b << " Bytes"; } return ss.str(); };
返回: 10.55 MB