我需要帮助
我被问到对于1到10亿的无符号整数范围,需要多少位!
我们如何计算?
谢谢
UPDATE !!!!
这是我想知道的,因为这位干预者说 17
答案 0 :(得分:6)
取10亿的记录基数并向上舍入。
或者,您应该知道整数(超过40亿个值)需要32位,因此对于20亿,您需要31位和10亿,30位。
要知道的另一个方便的事情是,每10位增加的值可以表示超过1000(1024),因此对于1000,您需要10位,100万需要20位,以及10亿需求30位。
答案 1 :(得分:3)
计算log2(1000000000)
并将其四舍五入。它可以达到30位。
例如在Python中,您可以像这样计算:
>>> import math
>>> math.ceil(math.log(1000000000, 2))
30.0
答案 2 :(得分:2)
2^10 = 1024
2^10 * 2^10 = 2^20 = 1024*1024 = 1048576
2^10 * 2^10 * 2^10 = 2^30 = 3 * 1024 ~= 1,000,000
=> 30位