一组文件中的实际平均文件大小
我有一个明显“简单”的问题,但由于某种原因我找不到解决方案......
我有 n 百万个不同大小的文件,我想找到平均文件大小。
为了简化,我将它们按 16KB 的倍数分组。
16 KB = 18689546 个文件
< 32 KB = 1365713 个文件
< 48 KB = 1168186 个文件
...
当然,简单的(total_size/文件数)是行不通的。平均为 291KB...
计算实际平均值的算法是什么?
谢谢, 京东
I have an apparently "simple" problem but I can't find the solution for some reason...
I have n millions files of different sizes and I want to find the average filesize.
To simplify it, I grouped them in multiples of 16KB.
< 16 KB = 18689546 files
< 32 KB = 1365713 files
< 48 KB = 1168186 files
...
Of course, the simple (total_size / number of files) does not work. It gives an average of 291KB...
What would be the algorithm to calculate the real average...?
Thx,
JD
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在对文件大小求和时,您可能会遇到溢出问题(总大小可能不适合 32 位值)。最简单的解决方法可能是尝试使用 64 位 int 作为保存总和的变量。
You might be running into a problem with overruns when summing the file sizes (the total size probably doesn't fit into a 32-bit value). The easiest fix might be to try using a 64-bit int for the variable that's holding the sum.