计算所需的位
答
计算log2(1000000000)
和圆形它。它可以达到30位。
例如,在Python中,你可以这样计算的话:
>>> import math
>>> math.ceil(math.log(1000000000, 2))
30.0
答
取1十亿日志基地2和围捕。
或者,您应该知道整数(超过40亿个值)需要32位,因此对于20亿您需要31位和10位,30位。
另一个方便的事情要知道,每10位增加的数量可以表示一个因素刚刚超过1000(1024),因此,对于1000,你需要10位,100万需要20位和10亿需要30位。
答
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位
2迷惑你哪一部分基地?你能更具体地说明你无法弄清楚什么吗? – 2010-11-19 19:36:37
如果你的面试官说17,那么他要么显然是错的,要么你没有给我们整个问题。 – 2010-11-19 19:38:32
你的面试官是白痴,或者你错误地提出了这个问题。 17位将得到你从0到131071的任何数字。如果你从1开始,你可以表示数字高达131072. – nmichaels 2010-11-19 19:40:14