首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >65535这个数字有什么特别之处吗?

65535这个数字有什么特别之处吗?
EN

Software Engineering用户
提问于 2012-11-22 19:49:51
回答 3查看 58.3K关注 0票数 15

2⁶-1& 2⁵= 2⁵(或?很明显?)

今天,一位开发人员问我,按位65535和32,即2⁶-1和2⁵=是什么?我起初是自发地想的,但似乎很容易,于是我想了几分钟,然后回答了32。32似乎是正确的答案,但如何回答呢?65535=2⁶-1=1111111111111111(但似乎不对,因为这个二进制数所有的数字都应该是-1(?),32 = 100000,但我无法在我的头脑中转换它,所以我无论如何回答了32,因为我必须回答一些问题。答案32实际上是微不足道的吗?同样的方式是2 1⁶-1和2⁵-1 =31?为什么开发人员要问我确切的65535呢?

我被要求评估的二进制值是1111111111111111 & 100000,但我不明白为什么1111111111111111不是-1。应该是-1?65535是一个溢出的数字,我怎么知道呢?

EN

回答 3

Software Engineering用户

回答已采纳

发布于 2012-11-22 19:59:43

在这种情况下,数字被视为一个无符号整数,这意味着所有的位集都不会产生-1 (如果它是有符号的,那么是的,您将是正确的)。所以所有的16位都会给你65535。

有趣的是,在执行逻辑位操作时,签名状态并不是一个因素。位本身没有签名,因为它们是计算机中最低的组件。它是由cpu操作指定的,如果是ex中的位。登记册将被处理签名或未签名。

如果将最重要位(MSB)设置为签名(哪一个“侧”或哪个外部位将根据cpu体系结构的不同而变化),则产生负数。大端/小端)。

票数 27
EN

Software Engineering用户

发布于 2012-11-22 19:55:01

这是微不足道的。65535的二进制数都是1,所以,任何X小于65535的ANDing都会给你X。

票数 19
EN

Software Engineering用户

发布于 2012-11-23 09:41:23

回答你问题的第二部分。您已经将其标记为32位,因此,32位中的65535是00000000000000001111111111111111,签名或未签名它不是-1。

票数 10
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/176858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档