java - 编程新手 - 存储 5 位数字需要 17 位 - 如何?

标签 java algorithm

<分区>

我正在读这个question上面说存储 5 位数字需要 17 位,这怎么可能?这是我的理解:

我使用了 following calculator并输入数字 99999。

我得到了这个巨大的数字:

11000000111001110000110100111111100001101001111111000011010011111

据我了解,每个 01 代表一位。可以看到,不止17位!

我理解错了吗?

此外,还声明:

"Now the first binary value which allows you to fit 99999 numbers is 131072,"

嗯?我以为二进制值只有 0 和 1?我在这里缺少什么?

最佳答案

99 999 的二进制形式是 11000011010011111,与计算器显示的完全一样。我不知道你输入了什么,但显然你在某处打错了字。

17 位最多可以存储 2^17,因此 = 131072,而 16 位最多只能存储 2^16 = 65536。

所以你至少需要 17 位来存储 99 999,不能多也不能少。

关于java - 编程新手 - 存储 5 位数字需要 17 位 - 如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25554001/

相关文章:

java - ListView项目背景颜色更新

java - 使用 Hibernate 在 Weblogic 10.3 上部署 Web 服务的 ClassNotFoundException

java - 我可以在 wicket 生成的 html 页面上使用 Selenium 访问属性键吗?

python - Python 3 中的模幂实现

python-3.x - 如何高效地找到适当因子的多重性?

java - PAX-CDI : CdiContainerFactory and BundleTracker

寻找投票集团的算法

algorithm - 找到给定算法的复杂性?

java - 此生产者消费者的非法监视器状态异常?

java - 为什么我的executeQuery挂起?