灵感来自这个问题(找到一个不是40亿给定的整数).
存储一个整数的存储空间需要多少,该整数是1到40亿的总和?
例如,1 + 2 + 3 + 4 + 5 = 15.总计1到1百万= 500,000,500,000.
这是一个可能有用的算法
In [12]: import math
In [13]: n=4000000000
In [15]: sumn = n*(n+1)/2
In [16]: sumn
Out[16]: 8000000002000000000L
In [24]: math.log(sumn)/math.log(2)
Out[24]: 62.794705708333197
Run Code Online (Sandbox Code Playgroud)
答案:63位.
如果您为整数选择适当的编码,一位就足够了。
如果您可能需要存储超过 2^n 个可能的值,则只需要超过n位。这里您只需要能够存储一个值。