代码之家  ›  专栏  ›  技术社区  ›  daydreamer

所需位的计算

  •  0
  • daydreamer  · 技术社区  · 14 年前

    我需要帮助

    有人问我,对于10亿到10亿之间的无符号整数,需要多少位!

    我们怎么计算?

    谢谢你

    更新!!!!

    这是我想知道的,因为采访者说 17岁

    3 回复  |  直到 14 年前
        1
  •  3
  •   Mark Byers    14 年前

    计算 log2(1000000000) 把它围起来。它能工作到30位。

    例如,在Python中,可以如下计算:

    >>> import math
    >>> math.ceil(math.log(1000000000, 2))
    30.0
    
        2
  •  6
  •   Peter Alexander    14 年前

    以10亿的对数基数2为基数,求和。

    或者,您应该知道整数(值超过40亿)需要32位,因此对于20亿,您需要31位,对于10亿,30位。

    另一个需要知道的方便的事情是,每10位增加一个因子,你可以表示的数值超过1000(1024),所以对于1000,你需要10位,100万需要20位,10亿需要30位。

        3
  •  2
  •   KingCrunch    14 年前
    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位