我读过这个问题,它说要用17位来存储5位数字,这怎么可能?以下是我的理解:
我使用了跟随计算器并输入了数字99999。
我得到了一个巨大的数字:
11000000111001110000110100111111100001101001111111000011010011111
据我所知,每个0
和1
都代表了一点。正如你所看到的,有超过17位!
我是不是理解错了?
此外,还指出:
“现在,第一个允许你适应99999位数的二进制值是131072,”
哈?我以为二进制值只有0和1?我在这里错过了什么?
发布于 2014-08-28 16:55:19
99 999的二进制数是11000011010011111,就像你的计算器说的那样。我不知道你输入了什么,但很明显你在某个地方做了一个错误。
17位可以存储最多2^17的数字,因此= 131072,而16位只能存储最多2^16 = 65536。
所以你至少需要17位来存储99 999,而不是更多,也不是更少。
发布于 2014-08-28 16:50:20
2^16 = 65,536,所以要捕获每5位数字,就需要2^17 = 17位。
关于“第一个二元值.”的部分对我来说毫无意义
发布于 2014-08-28 16:51:54
嗯,16位可以存储一个与2^16 - 1 = 65535
一样高的数字。这是假设无符号数字(非负),这意味着它不足以表示5位数字的十进制数。
使用17位,您可以得到与2^17 -1 = 131071
一样高的无符号数字。
https://stackoverflow.com/questions/25554001
复制相似问题