所需位数的计算
我需要这方面的帮助,
有人问我对于 1 到 10 亿范围内的无符号整数,需要多少位!
我们如何计算这个?
谢谢
更新!!!!
这是我想知道的,因为面试官说17
I need help with this
I was asked that for an unsigned integer range 1 to 1 billion, ,how many bits are needed!
How do we calculate this?
Thank you
UPDATE!!!!
This what I wanted to know because the interviwer said 17
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
取 10 亿以 2 为底的对数并向上舍入。
或者,您应该知道整数(超过 40 亿个值)需要 32 位,因此对于 20 亿个值,您需要 31 位,对于 10 亿个值,需要 30 位。
另一件需要知道的方便的事情是,每 10 位都会增加您可以用略高于 1000 (1024) 的因子表示的值的数量,因此对于 1000,您需要 10 位,100 万需要 20 位,10 亿需要 30 位。
Take the log base 2 of 1 billion and round up.
Alternatively, you should know that integers (with over 4 billion values) require 32-bits, therefore for 2 billion you'd need 31-bits and for 1 billion, 30-bits.
Another handy thing to know is that every 10 bits increase the number of values you can represent by a factor just over 1000 (1024), so for 1000, you need 10 bits, 1 million needs 20 bits, and 1 billion needs 30 bits.
计算
log2(1000000000)
并将其向上舍入。计算结果为 30 位。例如,在 Python 中,您可以这样计算:
Calculate
log2(1000000000)
and round it up. It works out to 30 bits.For example in Python you can calculate it like this:
=> 30 位
=> 30 Bits