2¹⁶-1&2⁵=2⁵(或?显然吗?)
一个开发人员今天问我什么是65535和32,即2¹⁶-1和2⁵=?我起初以为是32,但似乎很容易,然后我想了几分钟,然后回答了32。32似乎是正确的答案,但是如何?65535 =2¹⁶-1= 1111111111111111(但似乎不正确,因为此二进制数全为-1(?)),32 = 100000,但我无法将其转换为头脑,因此无论如何我回答32,因为我有回答一些问题。答案32实际上是微不足道的吗?以同样的方式2¹⁶-1&2⁵-1= 31吗?开发人员为什么要问我有关65535的确切信息?
要求我评估的二进制值是1111111111111111和100000,但我不明白为什么1111111111111111不是-1。不是-1吗?65535是一个产生溢出的数字,我怎么知道?
3
一定有一些特别的东西。它使我想起了捷克啤酒国家标准56 6635。嗯...是时候喝啤酒了。
—
joshp 2012年
您做出了太多的假设:65535仅在16位二进制补码算术中给出-1。它在16位二进制补码算术中给出-0,在32位二进制补码和补码算术中给出65535。
—
mouviciel 2013年
这是TCP端口的上限。
—
Renae Lider 2014年