分割字节流为G,MB,KB的算法

         String HumanReadableFilesize(double size)
                {
                    var units = new[] { "B", "KB", "MB", "GB", "TB", "PB" };
                    double mod = 1024.0;
                    var DoubleCount = new List<double>();
                    while (size >= mod)
                    {
                        size /= mod;
                        DoubleCount.Add(size);
                    }
                    var Ret = "";
                    for (int j = DoubleCount.Count; j > 0; j--)
                    {
                        if (j == DoubleCount.Count)
                        {
                            Ret += $"{Math.Floor(DoubleCount[j - 1])}{units[j]}";
                        }
                        else
                        {
                            Ret += $"{Math.Floor(DoubleCount[j - 1] - (Math.Floor(DoubleCount[j]) * 1024))}{units[j]}";
                        }
                    }
                    return Ret;
                }

将字节流大小转换成类似于XXGBXXMBXXKB的形式

原文地址:https://www.cnblogs.com/ACDIV/p/10753323.html

时间: 2025-01-05 19:31:51

分割字节流为G,MB,KB的算法的相关文章

GB MB KB B 关系

1KB=1024Bytes=2的10次方Bytes 1MB=1024KB=2的20次方Bytes 1GB=1024MB=2的30次方Bytes 1TB=1024GB=2的40次方Bytes

Problem G: 零起点学算法86——Fibonacc

#include<stdio.h> int main(){ int T,a[50]={0,1,1}; for(int i=3;i<=45;i++) { a[i]=a[i-1]+a[i-2]; } scanf("%d",&T); for(int i=0;i<T;i++) { int n; scanf("%d",&n); printf("%d\n",a[n]); } return 0; } 原文地址:https

kb mb gb

public static String convertFileSize(long size) { long kb = 1024; long mb = kb * 1024; long gb = mb * 1024; if (size >= gb) { return String.format("%.1f GB", (float) size / gb); } else if (size >= mb) { float f = (float) size / mb; return

iOS 文件大小转换成 KB、MB、GB 。。。

-(NSString *) convertFileSize:(long long)size { long kb = 1024; long mb = kb * 1024; long gb = mb * 1024; if (size >= gb) { return [NSString stringWithFormat:@"%.1f GB", (float) size / gb]; } else if (size >= mb) { float f = (float) size /

手掌手指分割算法(源码)

开发环境 开发环境 64 bits Windows OS (Win8.1) VS2013 OpenCV 2.4.9 功能原理 算法要求 完成将Camera拍摄的手掌图片中分割出每个手指用于指纹识别 算法流程 核心代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

PCL—点云分割(最小割算法)

1.点云分割的精度 在之前的两个章节里介绍了基于采样一致的点云分割和基于临近搜索的点云分割算法.基于采样一致的点云分割算法显然是意识流的,它只能割出大概的点云(可能是杯子的一部分,但杯把儿肯定没分割出来).基于欧式算法的点云分割面对有牵连的点云就无力了(比如风筝和人,在不用三维形态学去掉中间的线之前,是无法分割风筝和人的).基于法线等信息的区域生长算法则对平面更有效,没法靠它来分割桌上的碗和杯子.也就是说,上述算法更关注能不能分割,除此之外,我们还需要一个方法来解决分割的"好不好"这个

常见算法和例题

第3章  算法与程序设计模块 3.1  算    法 算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作. 常用的算法:列举了穷举搜索.递归.回溯.递推.模拟.分治.贪心.深度优先搜索.广度优先搜索等几种较为常用的算法,没有做过多的描述,一旦给出具体描述,容易使内容加深,产生严重学科取向的引导,符合教育部普通高中课程方案的特点,对于这些必需的方法和思想,关键不在于学生能不能,而在于教师是否想到,是否有过关注,引发学生对系统方法和思想的思考,重视建立编程思想,

灰度图像--图像分割 区域分割之分水岭算法

学习DIP第60天 转载请标明本文出处:http://blog.csdn.net/tonyshengtan ,出于尊重文章作者的劳动,转载请标明出处!文章代码已托管,欢迎共同开发:https://github.com/Tony-Tan/DIPpro 开篇废话 今天已经是第60篇博客了,这六十篇每一篇平均要两天左右,所以,在过去的四个月学到了这么多知识,想想挺开心,但学的越多就会发现自己不会的越多.从小学到大学,这么多年一直以学习为主要工作但学习又有很多阶段,对于通用知识,比如小学的语文数学此观点

2_算法效率的度量方法

0.入门拾遗 1)在计算机程序编写时,依据统计方法来对算法进行估算运行所消耗的时间其主要消耗时间的有: A.算法采用的策略,即方案 B.编译产生的代码质量 C.输入规模 D.机器执行指令的速度 2)函数的渐近增长:给定f(n)和g(n),若存在一个正整数N,使得对于所有的n>N,都有f(n)> g(n),则说f(n)增长快于g(n). 1.算法的时间复杂度------>运行时间需求 在进行算法分析时,语句总的执行次数T(n)是关于n的函数,分析T(n)随n变化情况以此来确定T(n)的数量